elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Problema con salida telnet en Bash
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con salida telnet en Bash  (Leído 2,448 veces)
Root~

Desconectado Desconectado

Mensajes: 81



Ver Perfil
Problema con salida telnet en Bash
« en: 14 Agosto 2015, 18:03 pm »

Hola!

Estoy intentando automatizar la conexion telnet con otro equipo, pero me sale un (famoso según he estado leyendo por internet) error "Connection closed by foreign host."

Os pongo en situación y lo que no entiendo.

1º Si ejecuto en la terminal de linux, a mano la conexión me muestra lo siguiente:
Citar
root@kali:~/Desktop# telnet 192.168.192.129 23
Trying 192.168.192.129...
Connected to 192.168.192.129.
Escape character is '^]'.

login: 1234
password:

Microsoft Windows [Versi�n 6.1.7601]192.129 23
Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.
Connected to 192.168.192.129.
C:\Users\josst\Desktop>]'.

Vemos que nos hemos conectado sin problemas.

Pero si ejecuto el script, me da la siguiente salida:

Citar
root@kali:~/Desktop# ./2
telnet> Trying 192.168.192.129...
Connected to 192.168.192.129.
Escape character is '^]'.

login: 1234
1234
Connection closed by foreign host.

El código del script es:

Citar
#!/bin/bash
# donde cmd es el comando a ejecutar
host=192.168.192.129
port=23
user=1234
pass=1234
#cmd1='dir'
( echo open ${host}
sleep 1
echo ${user}
sleep 1
echo ${pass}
sleep 1
#echo ${cmd}
#sleep 1
) | sudo telnet

¿A que puede deberse el error?

Muchas gracias de antemano. Saludos


En línea

yMk369

Desconectado Desconectado

Mensajes: 31


人は何かを成す為に生を受け、成し終えた時、死んで行く


Ver Perfil
Re: Problema con salida telnet en Bash
« Respuesta #1 en: 15 Agosto 2015, 03:22 am »

El problema según veo es que estas imprimiendo la contraseña, y no introducioendola en el campo, sugiero que utilices Expect (viene en la mayoría de las distros), fíjate su lo tienes instalado en /usr/bin/expect

Pero mejor aun, usa Python (es lo mejor que puedes hacer)

pero te explicare con Expect.

Código:

#!/bin/bash

HOST="192.168.192.129"
USER="1234"
PASS="1234"

VAR=$(expect -c "
spawn telnet  $HOST

match_max 100000
expect \"*?login:*\"
send -- \"$USER\r\"
send -- \"\r\"

match_max 100000
expect \"*?assword:*\"
send -- \"$PASS\r\"
send -- \"\r\"
")
sudo telnet

De lo anterior lo único que merece la pena explicar, para que tengas una idea es:
expect \"*?assword:*\" espera a que en pantalla parezca assword con comodines para cualquier palabra, antes y después.

send -- \"$PASS\r\" mandara el password después de la condición anterior.

Definitivamente investiga mas, y seguramente hay error en mi codigo pero quiero que veas como funciona, ahora bien usa python o perl.
Saludos.


En línea

Root~

Desconectado Desconectado

Mensajes: 81



Ver Perfil
Re: Problema con salida telnet en Bash
« Respuesta #2 en: 19 Agosto 2015, 17:38 pm »

Muchas gracias por su respuesta y explicación!

Un saludo!!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[bash]: Volcar la salida estándar y de errores &> ???
Scripting
Ragnarok 0 3,679 Último mensaje 29 Julio 2006, 20:18 pm
por Ragnarok
Recoger salida de airodump-ng y mostrarla a mi manera con bash
Scripting
l_s_h_s 1 2,097 Último mensaje 19 Enero 2015, 12:27 pm
por l_s_h_s
[Bash] Error al recoger salida de un comando
Scripting
MeCraniDOS 0 1,782 Último mensaje 22 Febrero 2015, 19:58 pm
por MeCraniDOS
Imprimir salida comando con PRINTF (BASH)
Scripting
Eskizoide 2 2,300 Último mensaje 27 Noviembre 2017, 14:56 pm
por Eskizoide
Salida permanente bash
Scripting
cr1pablo 5 2,983 Último mensaje 13 Marzo 2018, 03:00 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines