• Publicidad

Ayuda con módulos de Cisco

¿Eres administrador de sistemas? Este foro es para todos aquellos temas relacionados con el uso de Perl para administración de sistemas.

Ayuda con módulos de Cisco

Notapor kriss87 » 2011-12-13 22:22 @974

Hola y gracias por el foro me ha servido de mucho. Soy nuevo en Perl y tengo los conceptos básicos.

Ahora me han asignado una tarea en la cual debo ejecutar unos módulos de Cisco. Ya he logrado conectarme con el telnet pero lo que no he sabido aplicar es el módulo de Cisco::Abbrev.

Por favor, si pudieran ayudarme.

Lo que tengo hecho es:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use Net::Telnet::Cisco;
  3. use Cisco::Abbrev;
  4. my $long  = cisco_long_int('Gi0/1'); ##$long='GigabitEthernet0/1';
  5. my $short = cisco_abbrev_int('GigabitEthernet0/1');
  6. ## $short='Gi0/1';
  7. my $session = Net::Telnet::Cisco->new(Host => '10.1.1.1');
  8. $session->login('cisco','cisco');
  9. # Execute a command
  10. my @output = $session->cmd('show interface Gi0/1');
  11.  
  12. print @output;
  13.  
  14. # Enable mode
  15.  
  16. if ($session->enable("cisco") )
  17. {
  18. @output = $session->cmd('show interface Gi0/1');
  19. print "My privileges: @output\n";
  20. }
  21. else
  22. {
  23. warn "Can't enable: " . $session->errmsg;
  24. }
  25. $session->close;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Lo que quiero saber es cómo lograr que si yo en la variable $short le coloco, por ejemplo, h, que pueda realizar, por ejemplo, un show interface h y me muestre la interfaz gigabitethernet.

De antemano, muchas gracias.
Última edición por kriss87 el 2011-12-14 08:09 @381, editado 1 vez en total
kriss87
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2011-12-13 22:12 @967

Publicidad

Re: Ayuda con módulos de Cisco

Notapor explorer » 2011-12-14 07:13 @342

Bienvenido a los foros de Perl en español, kriss87.

El módulo Cisco::Abbrev hace traducción de unas abreviaturas a nombres completos, y al revés, de una serie de comandos:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. our %LONG = (
  2.     'Fa' => 'FastEthernet',
  3.     'Gi' => 'GigabitEthernet',
  4.     'Te' => 'TenGigabitEthernet',
  5.     'Et' => 'Ethernet',
  6.     'Eth' => 'Ethernet',
  7.     'Vl' => 'Vlan',
  8.     'FD' => 'Fddi',
  9.     'PortCh' => 'Port-channel',
  10.     'Po' => 'Port-channel',
  11.  
  12.     'Tu' => 'Tunnel',
  13.     'Lo' => 'Loopback',
  14.     'Vi' => 'Virtual-Access',
  15.     'Vt' => 'Virtual-Template',
  16.     'EO'  => 'EOBC',
  17.  
  18.     'Se' => 'Serial',
  19.     'PO' => 'POS',
  20.     'PosCh' => 'Pos-channel',
  21.     'Mu' => 'Multilink',
  22.     'AT' => 'ATM',
  23.  
  24.     'Async' => 'Async',
  25.     'Group-Async' => 'Group-Async',
  26.     'MFR' => 'MFR',
  27. );
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
pero no veo por ninguna parte que se pueda asignar cierta abreviatura ('h') al comando que queramos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Ayuda con módulos de Cisco

Notapor kriss87 » 2011-12-14 07:33 @356

Primero que todo, gracias por responder tan rápido. Lo que coloqué de la 'h' era solo un ejemplo. Tal vez no expliqué bien mi duda. Lo que me gustaría saber es cómo lograr relacionar el módulo, o las variables a la configuración del telnet, como por ejemplo realizar un show interface Gi0/1 pero desde el módulo Cisco::Abbrev

De antemano, gracias.
kriss87
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2011-12-13 22:12 @967

Re: Ayuda con módulos de Cisco

Notapor explorer » 2011-12-14 09:01 @418

Pero es que creo que ese módulo no hace llamadas... solo traduce nombres...

Así, después de hacer un

my $short = cisco_abbrev_int('GigabitEthernet0/1');

En $short tenemos la versión abreviada de 'GigabitEthernet0/1'. Y luego solo es necesario hacer

my @output = $session->cmd("show interface $short");

Es decir: metemos el nombre abreviado como parte del comando a ejecutar.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Ayuda con módulos de Cisco

Notapor kriss87 » 2011-12-14 09:55 @455

Gracias por la ayuda, me funcionó de maravilla. Nuevamente, gracias.
kriss87
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2011-12-13 22:12 @967


Volver a Administración

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado