Une petite question comme ça...
Est ce que quelqu'un a déjà lancé une commande via Perl sur un routeur ?
(ex : un simple "show interfaces").
Une petite question comme ça...
Est ce que quelqu'un a déjà lancé une commande via Perl sur un routeur ?
(ex : un simple "show interfaces").
tout le temps
si le script s'appelle ccmd.perl il se lance avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #!/usr/bin/perl use Net::Telnet::Cisco; if ($#ARGV == -1) { die "syntaxe : ./ciscoCMD.perl \@ip \"cmd\"\n"; } die "seules les commandes 'show' sont autorisees" if ($ARGV[1] !~ /^sho/); my $session = Net::Telnet::Cisco->new(Host => $ARGV[0]); $session->login('username', 'password'); # Enable mode if ($session->enable("enable_password") ) { @output = $session->cmd($ARGV[1]); print "@output\n"; } else { warn "Can't enable: " . $session->errmsg; } $session->close;
il y a un test pour que la commande soit du type "sho..." par sécurité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ./ccmd.perl @ip "sho options"
il te faut les modules CPAN Net::Telnet et Net::Telnet::Cisco
bon ça va, c'est en gros ce que je faisais...
ça sert à quoi le "enable mode" ? (je n'y connais rien aux routeurs...)
ça ne fonctionne qu'avec le CPAN Net::Telnet::Cisco ? Car il n'est pas installé.
Tu ne connaitrais pas des fois, une commande routeur qui permette de récupérer seulement les "route-target" ? Et éviter de sortir toute la conf.
en tout cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 show ip route:
ça fonctionne très bien avec juste Net::Telnet ou rien du tout... l'écriture du programme est juste rendue un peu différente
sur cisco le mode 'enable' correspond à l'utilisateur 'root' sous linux ou Administrateur sous win... il te permet de faire toutes les modifs![]()
Partager