问题
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?
回答1:
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.
回答2:
You may want to consider Exscript as well. It simplifies some of the easy tasks but for more complicated there is additional level of abstraction (Exscript is a scripting language in itself). Either way - worth checking out.
回答3:
I've never used it myself, but maybe pexpect is what you need?
"Pexpect can be used for automating interactive applications such as ssh, ftp, passwd, telnet, etc."
来源:https://stackoverflow.com/questions/1491494/telnet-automation-scripting