Estoy haciendo un script en Perl que me permita ejecutar comandos en una antena Motorola Wirelss WS5100.
Para tal fin estoy usando el módulo de Perl Net::Telnet, el cual ya tengo instalado y funcionando correctamente, sin embargo me encuentro con un problema para completar mi script y es el siguiente:
Cuando, de manera manual, ejecuto un telnet, hago lo siguiente:
#telnet sparky
Trying 172.16.1.252...
Connected to sparky.
Escape character is '^]'.
WS5100 release 3.2.0.0-040R
Login as 'cli' to access CLI.
Wireless Reforma login:
en este punto escribo: cli y a continuación oprimo la tecla 'enter', y obtengo lo siguiente:
User Access Verification
Username: admin
Password:
y es aquí donde tengo el problema, ya que no sé cómo poner en el código que haga un doble login. El primero solo que escriba "cli" y en el segundo que escriba el login y password.
El código con el que estoy probando es el que pone de ejemplo en CPAN:
Using perl Syntax Highlighting
- #!/usr/bin/perl -w
- use Net::Telnet ();
- $username = 'cli';
- $passwd = '1234567';
- $t = new Net::Telnet (Timeout => 10,
- Prompt => '/Wireless Reforma>/');
- $t->open("sparky");
- $t->login($username);
- # aquí intenté volver a ejecutar el login con el nuevo usuario
- $username = 'admin';
- $t->login($username, $passwd);
- @lines = $t->cmd("?");
- print @lines;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
El código funciona bien con otros switches, no tengo problema, por ejemplo con el prompt, y ejecutar comandos, pero aquí me detiene el hecho de que no sé cómo enviar un doble login.
Gracias de antemano.