• Publicidad

Re: Net::Telnet

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Net::Telnet

Notapor explorer » 2006-08-27 14:42 @654

No deberías tener ningún problema con Net::Telnet, porque login() espera una cadena como la que pones que emite el router: /username[: ]*$/i. Y luego, esperará por /password[: ]*$/i. ¿En cuál de las funciones Net::Telnet se para el programa?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Notapor explorer » 2006-08-28 09:11 @424

Está pasando lo que te dice el mensaje de error: que ha metido correctamente el nombre de usuario y contraseña y que está esperando el prompt para continuar metiendo comandos, y esa espera se agotó.

Quizás debas pasarle a Net::Telnet la descripción del prompt de esos router.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2006-08-28 10:02 @459

Aquí esta Net::Telnet.

El prompt se lo puedes indicar en el momento de crear la conexión:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Net::Telnet ();
$t = new Net::Telnet (Timeout => 10, Prompt => '/<LRR-U2-001> $/');
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2006-09-12 19:06 @838, editado 1 vez en total
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2006-08-30 03:34 @190

Le sigues sin decir al Net::Telnet cómo es tu prompt. Lee mi mensaje anterior.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2006-08-30 12:13 @550

Quita el primer Net::Telnet porque está de adorno.

Antes decías que que el prompt era "<LRR-U2-001> " y ahora pones que es "<LRR-01> ", es decir:
* el caracter '<'
* la cadena 'LRR'
* una serie de caracteres alfanuméricos
* el caracter '>'
* el caracter espacio en blanco
Si los prompt de estos routers son de esta forma, puedes probar a usar '/<LRR[A-Z0-9-]+> $/' como prompt.

Leete mi respuesta en
viewtopic.php?p=5054&highlight=#5054

Simplifica el programa como en
viewtopic.php?p=4996&highlight=#4996

Según pone el manual de Net::Telnet, para activar el debug de la conexión, hay que colocar dos opciones más en el momento de hacer el new.
* puedes probar a hacer un $sesion->output_log('debug.log'); justo después de hacer el new Net::Telnet. Esto creará un fichero llamado debug.log con la transcripción de lo que pase.
* otra opción es agregar las opciones 'input_log' y 'dump_log' en la función new, como pone el manual.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2006-09-04 12:35 @566

El prompt que te funciona estaba indicado en el hilo que te dije, en el último mensaje.

Tal como está el programa ahora, el nombre del router lo toma del prompt. Si los routers a los que te conectas no muestran ningún nombre el prompt entonces por eso no saldrá nada.

Tendrás que darle tu entonces el nombre. Podrías derivarlo de la IP de conexión, por ejemplo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2006-09-04 16:32 @730

Quien te quita el último carácter de cada nombre eres tu mismo... al usar la función chop(). Quita la línea con esa función que sigue a la de $nombre_router = $tabla_host[$x];

En cuanto al timeout, podrías probar a aumentar el tiempo. Ahora veo que lo tienes puesto a 10 segundos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2006-09-07 12:48 @575

Es MUY posible que la información llegue cortada si dentro de la información hay caracteres que se parezcan al prompt que cmd() espera como confirmación de que el comando ha terminado.

Según veo en la ayuda de Net::Telnet, para cmd se puede indicar el timeout. Yo creo que será entonces así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
@salida = $sesion->cmd(String => $tabla_comandos[$y], Timeout => 30);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

(hay que leer más, aunque sea en inglés....:-) )
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor TELCO71 » 2006-09-11 08:52 @411

:D Voy a probarlo !!
Última edición por TELCO71 el 2006-09-15 08:21 @390, editado 1 vez en total
Avatar de Usuario
TELCO71
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-08-10 10:43 @488
Ubicación: Buenos Aires / Argentina

Notapor explorer » 2006-09-11 09:58 @457

El error no se comente a la hora de enviar los comandos, sino que da un error de login, por lo que todavía no ha conseguido entrar en los routers.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 1 invitado

cron