Autor Tema: [BASH] Envio de comandos a una sesión no dinamica de Telnet  (Leído 10890 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
[BASH] Envio de comandos a una sesión no dinamica de Telnet
« : septiembre 10, 2007, 12:04:42 pm »
Este es un muy pequeño script que quiero compartirles, lo hice en su momento con un proposito muy especifico: enviar comandos via telnet desde la terminal usando el menor codigo posible.

Resultado: Uso de pipas y el cliente Telnet por defecto hicieron todo lo necesario :)

El script usa por defecto el cliente Telnet que tiene instalado el sistema (y que tenga por nombre "Telnet") para mandar los comandos, pero puede ser facilmente modificado al cliente de su preferencia.

Nota: Necesitan un Telnet que no use ncurses y que no sea muy viejo, yo lo probé con el que trae Xubuntu 7.04 en Net Kit 0.17 (viene por defecto con el sistema)



Uso:


$ sh atelnet.sh

No verán ninguna salida al ejecutarse el script sugiero prueben con comandos conocidos primero para asegurarse que los comandos se esten enviando



Utilidad:


*Como automatizador de tareas via telnet tales como resetear un router
*Como ejemplo de uso de telnet en la terminal
*Como juguete/curiosidad  :phew:



Codigo:

  (
    sleep 2
    echo "Admin"
    sleep 2
    echo "ZyxeL"
    sleep 2
    echo "reboot"
    sleep 2
   ) | telnet 192.168.1.1 23


Guarden eso en un archivo "atelnet.sh" (si siguen el ejemplo) o cualquier otro nombre que deseen pero siempre como ".sh"

Ese ejemplo al ejecutarse reseteara cualquier router Xavi 8022r o US Starcom 4110a (y otros basados en los mismos chips)

Basicamente lo que esta entre parentesis son los comandos, los "sleep 2" es para darle 2 segundos al router para que responda, si lo piensan hacer para mandarlo a un host que no sea de red local, consideren subir el tiempo de sleep para darle tiempo al host que responda dada la posibilidad de congestionamiento en la red que puede existir.

Lo que esta en negrita es el host de destino y lo que esta en cursiva es el puerto de destino.

Saludos.  carro.

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: [BASH] Envio de comandos a una sesión no dinamica de Telnet
« Respuesta #1 : septiembre 10, 2007, 12:54:03 pm »
Puya esta buenisimo Vlad...excelente  :thumbsup:
-:Rcguillen-NoMercy:-
-:Es inutil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos:-

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: [BASH] Envio de comandos a una sesión no dinamica de Telnet
« Respuesta #2 : septiembre 10, 2007, 01:01:19 pm »
hey no tendras algo asi para enviar y leer datos desde el puerto serial de la PC? en linux klaro y desde el back? asi uso PIPES o acceso a la consola desde mi codigo para poder manejar el puerto de una manera facil y sencilla.
sera ke tendras algo por ahi?
N/A

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: [BASH] Envio de comandos a una sesión no dinamica de Telnet
« Respuesta #3 : septiembre 10, 2007, 01:59:03 pm »
Ya probaste con stty?

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: [BASH] Envio de comandos a una sesión no dinamica de Telnet
« Respuesta #4 : septiembre 10, 2007, 02:09:13 pm »
Ya probaste con stty?
si pero no rekuerdo haber tenido resultados exitosos :(
N/A

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: [BASH] Envio de comandos a una sesión no dinamica de Telnet
« Respuesta #5 : septiembre 10, 2007, 02:26:42 pm »
Y cual(es) fue(ron) el|los problema(s)?

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: [BASH] Envio de comandos a una sesión no dinamica de Telnet
« Respuesta #6 : septiembre 10, 2007, 03:14:16 pm »
usa c++ naruto no seas haragan jajaja

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re:[BASH] Envio de comandos a una sesión no dinamica de Telnet
« Respuesta #7 : febrero 04, 2010, 02:33:30 pm »
Justo probando esto de nuevo me doy cuenta que ahora es necesario enviar el \r\n, asi que actualizando:

Código: [Seleccionar]
(
sleep 2
echo -e "admin\r\n"
sleep 2
echo "Tu$64TEL\r\n"
sleep 2
echo "reboot\r\n"
sleep 2
) | telnet 192.168.1.1 23

Yo estoy usandolo ahorita con cron para cada media hora resetear el router y desmotivar a las personas que bajan archivos gigantes a maxima velocidad, saturando la conexion para todas las otras personas...

Lo malo es que no frena de que usen Ares/Torrents/P2P en general.