Hallo,
ich möchte fragen, ob es mit Perl möglich ist, aus einem Telnet ein anderes Telnet zu starten. Ich habe folgendes versucht:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/opt/ActivePerl-5.8/bin/perl -w
use Net::Telnet::Cisco;
use strict;
my @dev=();
$dev[0]={'ip'=>"$ip",
'prompt1'=>'/R7204\.TB\>/',
'prompt2'=>'/R7204\.TB\#/',
'username'=>'etwas',
'password'=>'geheimes',
'enable'=>''};
my @pole=();
my $tel=new Net::Telnet::Cisco(Timeout=>10,Prompt=>$dev[0]->{prompt2},Host=>$dev[0]->{ip});
$tel->login(Name=>$dev[0]->{username},Password=>$dev[0]->{password});
$tel->prompt($dev[0]->{prompt2});
$tel->dump_log('logfile.log');
$tel->print("telnet $andereIP /vrf VOICE");
$tel->waitfor('/Username:/');
$tel->print($dev[0]->{username});
$tel->waitfor('/Password:/');
$tel->print($dev[0]->{password});
$tel->waitfor('/MACC\-MFC\#/');
@pole=$tel->cmd('sh running');
$tel->print('exit');
$tel->close;
print "@pole\n";
Das ales endet mit einer Meldung:
command timed-out at line 24.
Die Datei logfile.log enthält irgendwelche hexadecimale Zeichen und von mir erwünschte laufende Konfiguration.
Ich weiss nicht, warum der skript nach 10 Sekunden ausläuft, ohne die Liste @pole zu füllen.
Danke sehr für eure Hilfe
rasch