【问题标题】:Telnet automation / scripting [closed]Telnet自动化/脚本[关闭]
【发布时间】:2010-12-02 06:23:47
【问题描述】:

我已经检查了this question,但找不到我要找的东西。我正在运行 Windows(客户端),服务器是旧的大型机类型服务器。

基本上我需要编写一个脚本、python 代码或其他任何东西,通过 telnet 将一些已知命令发送到服务器,并最好捕获输出。完成后返回。

最好的方法是什么?

【问题讨论】:

    标签: python windows scripting automation 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 的系统。
      • 我应该更仔细地阅读问题,对不起! :)
      猜你喜欢
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 2017-09-05
      • 1970-01-01
      • 2014-05-25
      • 2013-11-25
      • 2020-11-12
      • 2016-01-06
      相关资源
      最近更新 更多