Saludos Sres,
En este breve blog, les ensare como usar Perl para acceder a los routers Cisco, y guardar la configuracion en un archivo de texto.
Antes que todo, para poder hacer esta tarea desde Perl, es necesario instalar el modulo de perl Net::Telnet::Cisco. Para instalarlo, ejecutamos la siguiente linea:
perl -MCPAN -e 'install Net::Telnet::Cisco'.
Una vez hecho esto, estamos listos para poder hacer respaldos de nuestros dispositivos haciendo uso de nuestro programa en Perl.
####SCRIPT####
#!/usr/local/bin/perl -w
use Net::Telnet::Cisco;
########
# Main #
########
#Nombre del archivo donde se va a guardar la configuracion del router
my $file_name= "192.168.58.51";
#Creamos nuestro objeto!, '192.168.58.51' es la direccion del router a donde vamos a acceder
my $session = Net::Telnet::Cisco->new(Host => '192.168.58.51');
#Nos conectamos a neustro router, "themadfaceblog" es el nombre de usuario del router, "blogspot" es la clave de ese usuario.
$session->login('themadfaceblog', 'blogspot');
#Entramos al modo privilegiado, "password0101010101010" es la clave para entrar al modo privilegiado.
if ($session->enable("password0101010101010") ) {
my @output = $session->cmd('show run');
#Abrimos un archivo e imprimimos la configuracion del router en ese archivo
open FH, ">$file_name" or die "can't open '$file_name': $!";
foreach ( @output )
{
print FH $_;
}
close FH;
#En caso de que no podemos entrar al modo de configuracion privilegiada, dinos la razon por la cual no se pudo
} else {
warn "Can't enable: " . $session->errmsg;
}
####FIN SCRIPT####
Para ejecutar este script, lo hacemos de la siguiente manera
themad@face:~/perl$ chmod +x script.pl
themad@face:~/perl$ ./scrip.pl
Luego, para leer la configuracion de nuestro router
themad@face:~/perl$ less 192.168.58.51
Building configuration...
Current configuration : 71536 bytes
!
version 12.3
service timestamps debug datetime localtime
service timestamps log datetime localtime
service password-encryption
!
hostname THEMADFACE
!
boot-start-marker
boot system flash disk2:c7200-spservicesk9-mz.122-33.SRD2.bin
boot-end-marker
!
...
...
...
:)
Espero que les haya sido util,
Si tienen algun problema con sus Scripts, no duden en escribirnos, que con todo el gusto del mundo los ayudaremos!
Hasta la proxima! >:)