Telnet 自动化 / 脚本编写

7 投票
3 回答
58942 浏览
提问于 2025-04-15 14:40

我已经查看了这个问题,但没有找到我想要的内容。我在使用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服务器的所有输出。

撰写回答