Telnet automation / scripting

Ayman picture Ayman · Sep 29, 2009 · Viewed 53.6k times · Source

I have already checked this question but could not find what I'm looking for. I am running Windows (the client), and the server is a legacy mainframe type server.

Basically I need to write a script, python code or whatever, to send some know commands to the server via telnet, and preferable capture the output. Then return when done.

What's the best approach?

Answer

rogeriopvl picture rogeriopvl · Sep 29, 2009

There's a python library for telnet connections that reads and writes from/to a telnet connection.

Check the link. It has some basic examples of what you are looking for.

Here's an example from the link:

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

It connects to a telnet server. Sends your login credentials and then executes the unix command ls. Then exits the session and prints all output from the telnet server.