Telnet自动化/脚本[关闭]
Posted
技术标签:
【中文标题】Telnet自动化/脚本[关闭]【英文标题】:Telnet automation / scripting [closed] 【发布时间】:2010-12-02 06:23:47 【问题描述】:我已经检查了this question,但找不到我要找的东西。我正在运行 Windows(客户端),服务器是旧的大型机类型服务器。
基本上我需要编写一个脚本、python 代码或其他任何东西,通过 telnet 将一些已知命令发送到服务器,并最好捕获输出。完成后返回。
最好的方法是什么?
【问题讨论】:
【参考方案1】:有一个python library for 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()
它连接到远程登录服务器。发送您的登录凭据,然后执行 unix 命令ls
。然后退出会话并打印 telnet 服务器的所有输出。
【讨论】:
请注意,在我的服务器上,我需要添加\r
而不是 \n
。我花了一些时间来调试它。【参考方案2】:
您也可以考虑Exscript。它简化了一些简单的任务,但对于更复杂的任务,还有额外的抽象级别(Exscript 本身就是一种脚本语言)。无论哪种方式 - 都值得一试。
【讨论】:
【参考方案3】:我自己从未使用过,但也许pexpect 是您需要的?
"Pexpect 可用于自动化 交互式应用程序,例如 ssh, ftp、passwd、telnet等”
【讨论】:
PExpect 不在 Windows 客户端上运行。它给出了一个错误,它需要一个类似 UNIX 的系统。 我应该更仔细地阅读问题,对不起! :)以上是关于Telnet自动化/脚本[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
自动退出 Telnet 命令返回提示,无需人工干预 ^] quit 关闭退出代码 1
Telnet/Send/Expect - 自动从远程主机拉取日志
SecureCRT远程登录Unix主机时(telnet和ssh)能不能自动输入账号和密码,然后怎样让其自动执行脚本,谢谢啦