Telnets sur un équipement réseaux
Je souhaite faire un telnet sur un équipement réseaux, et ensuite executer la commande show cdp neighbors pour avoir la liste des voisins. J'ai un script pour cela, mais il me retourne le resultat 1 au lieu de la liste des interfaces. Pouvez vous m'aider à corriger cela svp ?
Voici mon script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
!/usr/bin/perl
use Net::Telnet;
$telnet = new Net::Telnet ( Timeout=>10,Errmode=>'die');
$telnet->open('10.10.10.10');
$telnet->waitfor('/Username: $/i');
$telnet->print('user');
$telnet->waitfor('/password: $/i');
$telnet->print('MDP');
#$telnet->waitfor('/router1#/i');
$telnet->waitfor('/#$/i');
$telnet->print('show cdp neighbors');
$output = $telnet->waitfor('/#$/i');
print $output; |
Merci par avance pour votre aide
Demande de complement d'explication
Citation:
Envoyé par
tissam89
et ça maaarche ! Great .
Merci beaucoup
OK ça marche mais moi aussi j'ai 18 comme résultat q"a tu fais entre temps pour avoir la bonne réponse ?
OK j'ai trouvé
le 18 corespond a la longueur du message 'show cdp neighbors'
c'est pas un "send" qu'il faut utilisé mais un "print"
$telnet ->print('show cdp neighbors');
my @output = $telnet ->waitfor('/#$/i');
print $output; foreach my $p(@output){
print "$p\n";
}