Telnet 自动化 / 脚本编写
我已经查看了这个问题,但没有找到我想要的内容。我在使用Windows(客户端),而服务器是一个老旧的主机类型服务器。
基本上,我需要写一个脚本,可能是Python代码,或者其他什么东西,来通过telnet发送一些已知的命令到服务器,并且最好能捕获输出。然后在完成后返回。
有什么好的方法吗?
3 个回答
1
我自己没用过这个,但也许 pexpect 正是你需要的东西?
“Pexpect 可以用来自动化一些需要互动的应用,比如 ssh、ftp、passwd、telnet 等等。”
3
你可以考虑一下 Exscript。它可以让一些简单的任务变得更简单,但对于更复杂的任务,它又增加了一层抽象(Exscript 本身就是一种脚本语言)。总之,值得一试。
21
有一个Python库可以用来进行telnet连接,它可以从telnet连接中读取和写入数据。
你可以查看这个链接,里面有一些你需要的基本示例。
这里有一个来自链接的示例:
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()
这个示例连接到一个telnet服务器。它会发送你的登录信息,然后执行一个unix命令ls
。最后,它会退出会话,并打印出telnet服务器的所有输出。