背景

我在网络和电信领域的部分工作涉及当传统硬件无法在其他接口中提供简单的解决方案时自动执行 telnet 会话。许多旧设备只能通过工艺端口(RS-232 串行端口)、SNMP 或 Telnet 进行访问。有时,telnet 是访问特定信息的唯一方法,但是 telnet 被设计为人机界面,因此需要屏幕抓取。此外,还存在抓取屏幕的问题,其中仅更新部分内容以节省带宽(请参阅 恩诅咒)。在我的工作中,我使用了 ActiveState Expect 和 Python telnet 库。

问题

哪些语言和库能够自动化 telnet 会话并具有以下要求:

更好的解决方案还包括以下内容:

  • 易于重新分发(例如不 需要在计算机上安装一些巨大的运行时。
  • 也适用于 SSH、串行连接和其他命令行界面。
有帮助吗?

解决方案

看一下 ActiveTcl 发行版中的 demos/Expect/term_expect。它模拟光标可寻址终端,并允许您测试特定屏幕位置的输出。查看文件末尾的示例屏幕抓取代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top