• Publicidad

Net::Telnet::Cisco, solo password

¿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::Cisco, solo password

Notapor explorer » 2009-10-05 14:05 @628

¿Y qué es lo que sale en el log?

Yo pondría un print() dentro del if, antes del cmd(), algo así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print "Comando número [$cmd]:$com[$cmd]\n";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Los corchetes son importantes: sirven para ver, más visualmente, qué valores tenemos.
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

Re: Net::Telnet::Cisco, solo password

Notapor knightman » 2009-10-05 17:16 @761

explorer, muchas gracias. Este es el log:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Equipo propiedad Privada
Prohibido el acceso no autorizado
El acceso no autorizado puede ser causa de acciones penales
Las acciones sobre esta maquina son monitoreadas y guardadas para
su control
User Access Verification
Password:
BUGA_MOTOROLA:7A>
BUGA_MOTOROLA:7A>enable
Password:
BUGA_MOTOROLA:7A#
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Coloqué el comando para ver qué imprimía, pero si coloco ese print() antes del if(), sale esto: Comando número [1]:scm, si lo coloco antes del @output = $session->cmd no imprime nada.

Algo para aclarar este mismo programa lo probé con otro equipo que tiene un prompt normal (buga> y buga#) y funciona bien, para éste prompt en especial sólo empleé
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $session = Net::Telnet::Cisco->new(Host      => $ip,Prompt => "/$hostname/",);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

lo cual indicaría que algo se debe definir para la parte del cmd(), pero aún no encuentro el dato que me hace falta; intenté con esto también:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.                     @output = $session->cmd(String   => $com[$cmd],     Prompt => 'BUGA_MOTOROLA:7A#',Timeout => 120);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

pero tampoco.

Muchas gracias.
Aún leyendo.
knightman
Perlero nuevo
Perlero nuevo
 
Mensajes: 15
Registrado: 2009-06-04 11:34 @523

Re: Net::Telnet::Cisco, solo password

Notapor explorer » 2009-10-05 18:23 @808

Lo que se le pasa a Prompt, debe ser una expresión regular, no una simple cadena de caracteres. Debes incluir '/' a ambos lados de la cadena de texto... o... lo más fácil y que yo haría: incluir el carácter ':' como se ha comentado en un mensaje anterior.

Pon un $|++; al principio del programa para asegurarte que todos los mensajes y print() del programa salen inmediatamente a pantalla.

Yo sí veo que entra a modo supervisor: el aparato saca la palabra Password, que es una de las que busca para mandar la contraseña.

Pero... el programa se queda esperando al Prompt que has definido al principio, PERO NO LO ENCUENTRA porque ha cambiado (hay un '#' al final en lugar de un '>').

Yo probaría con la expresión regular /^[\w.:-][\$#>]$/ como Prompt.
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

Re: Net::Telnet::Cisco, solo password

Notapor knightman » 2009-10-06 08:00 @375

explorer, ¡¡¡ de verdad que eres un maestro de maestros !!!! ufff, supremamente bien me funcionó, por fin, de verdad qué pena la ignorancia en el tema, pero debido a las características del equipo no había podido, pero su vital ayuda ¡¡¡fue grandiosa!!!, de nuevo ¡¡¡ mil gracias !!!.

Sólo modifique este parámetro y yap: $hostname ='BUGA_MOTOROLA:7A';

Qué pena. Una última pregunta, si no es molestia: ¿cómo podría colocar para que al darle esta instrucción:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
@output = $session->cmd(String   => $com[$cmd], Timeout => 120);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

me imprima dos comandos, es decir, en un pantallazo me salga algo así como una cadena $doscomandos = $com[1].$com[2];

¡¡ Muchas gracias !!!
knightman
Perlero nuevo
Perlero nuevo
 
Mensajes: 15
Registrado: 2009-06-04 11:34 @523

Re: Net::Telnet::Cisco, solo password

Notapor explorer » 2009-10-06 08:10 @382

En otras palabras, no has hecho lo que te he dicho y no sabes por qué te funciona. :(
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

Re: Net::Telnet::Cisco, solo password

Notapor knightman » 2009-10-06 10:39 @485

uhmm, explorer, como así, claro que entiendo lo que me ha dicho, verificando la expresión regular que me comentó y demás, por eso opté también por probar al declarar la variable $hostname ="BUGA_MOTOROLA:7A" pero sin el símbolo '>' y funcionó bien, pero claro que entiendo el porqué no realizaba bien la parte del cmd(). Además realicé pruebas con la expresión regular que me dijo y funciona de maravilla, aunque mejor más genérico.
knightman
Perlero nuevo
Perlero nuevo
 
Mensajes: 15
Registrado: 2009-06-04 11:34 @523

Re: Net::Telnet::Cisco, solo password

Notapor explorer » 2009-10-06 10:53 @495

¿Y cuál crees tú que es la mejor solución?

La solución genérica es la de la expresión regular. ¿O prefieres una solución específica como la que es la de poner el nombre del aparato? ¿Qué ocurrirá cuando se cambie de aparato?

Y en cuanto a la segunda parte, sería interesante saber por qué funciona. Yo sí lo sé. ¿Y tú?

:(
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

Re: Net::Telnet::Cisco, solo password

Notapor knightman » 2009-10-06 11:47 @533

Claro que la mejor opción es la genérica, ya estoy empezando a trabajar con equipos ARRIS y CISCO.

En cuanto la segunda parte estoy trabajando en ello.
knightman
Perlero nuevo
Perlero nuevo
 
Mensajes: 15
Registrado: 2009-06-04 11:34 @523

Anterior

Volver a Básico

¿Quién está conectado?

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

cron