Thread telnet aus einem anderen telnet (13 answers)
Opened by rasch at 2012-03-15 14:26

rasch
 2012-03-15 14:26
#156871 #156871
User since
2009-03-18
15 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich möchte fragen, ob es mit Perl möglich ist, aus einem Telnet ein anderes Telnet zu starten. Ich habe folgendes versucht:
Code: (dl )
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:
Code: (dl )
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

View full thread telnet aus einem anderen telnet