Automatización telnet / scripting

Ya he marcado esta pregunta pero no pude encontrar lo que estaba buscando. Estoy ejecutando Windows (el cliente) y el servidor es un servidor de tipo mainframe heredado.

Básicamente, necesito escribir un script, un código de Python o lo que sea, para enviar algunos comandos conocidos al servidor a través de telnet, y preferiblemente capturar la salida. Luego regresa cuando haya terminado.

¿Cuál es el mejor enfoque?

Hay una biblioteca de python para conexiones de telnet que lee y escribe desde / hacia una conexión de telnet.

Revisa el enlace. Tiene algunos ejemplos básicos de lo que estás buscando.

Aquí hay un ejemplo del enlace:

import getpass import sys import telnetlib HOST = "localhost" user = raw_input("Enter your remote account: ") password = getpass.getpass() tn = telnetlib.Telnet(HOST) tn.read_until("login: ") tn.write(user + "\n") if password: tn.read_until("Password: ") tn.write(password + "\n") tn.write("ls\n") tn.write("exit\n") print tn.read_all() 

Se conecta a un servidor telnet. Envía sus credenciales de inicio de sesión y luego ejecuta el comando de Unix ls . Luego sale de la sesión e imprime todos los resultados del servidor telnet.

Es posible que desee considerar Exscript también. Simplifica algunas de las tareas fáciles, pero para más complicadas hay un nivel adicional de abstracción (Exscript es un lenguaje de scripting en sí mismo). De cualquier manera, vale la pena echarle un vistazo.

Nunca lo he usado yo mismo, pero ¿tal vez pexpect es lo que necesitas?

“Pexpect se puede usar para automatizar aplicaciones interactivas como ssh, ftp, passwd, telnet, etc.”

Este hilo es viejo pero pensé que seguiría y publicaría de todos modos. Existe un progtwig llamado AutoMate que probablemente se adapte bien a sus necesidades. Se ejecuta en Windows y es bastante fácil de usar.

Más información sobre la automatización de telnet: http://www.networkautomation.com/sales/terminal-emulation-automation/