• Python之telnetlib模块


    telnetlib是python标准库中的一员,我们可以使用该模块以telnet的方式与服务器交互。请观察下面示例了解它的用法:

    import telnetlib
    
    
    def run_telnet(host, username, password, commands):
        """
        连接并登录服务器后,执行命令串
        """
        # 连接Telnet服务器
        tn = telnetlib.Telnet(host, port=23, timeout=10)
        tn.set_debuglevel(1)
    
        # 输入登录用户名
        tn.read_until(b'login: ')
        tn.write(username.encode('utf-8') + b'
    ')
    
        # 输入登录密码
        tn.read_until(b'Password: ')
        tn.write(password.encode('utf-8') + b'
    ')
        tn.read_until(b'
    $')
    
        # 登录完毕后执行命令
        for command in commands:
            tn.write(command.encode('utf-8') + b'
    ')
            tn.read_until(b'
    $')
    
        # 终止Telnet连接
        tn.close()
    
    
    if __name__ == '__main__':
        command_list = ['pwd', 'ls']
        run_telnet('172.31.0.151', 'username', 'password', command_list)

    上述示例中依次完成了客户端与服务器的telnet连接,通过用户名及密码登录服务器,登陆后执行指定的命令串。telnetlib实现了一个Telnet类,该类实现了Telnet协议。该类在初始化过程中,调用了Telnet.open()函数,帮助客户端与服务器建立telnet连接。连接完成后,可以通过以下函数与服务器进行交互:

    • Telnet.read_until() :读取直到遇到给定的预期字节字符串,或者超时 。
    • Telnet.write() :将字节字符串写入套接字。
    • Telnet.close() :用于关闭telnet连接。

    参考资料

    • https://docs.python.org/zh-cn/3.9/library/telnetlib.html

    作者:酌三巡

    感谢阅读,如需转载请注明出处!

  • 相关阅读:
    洛谷P3763 [TJOI2017]DNA(后缀数组 RMQ)
    树莓派在身份证件核验领域应用
    Linux suse x86_64 环境上部署Hadoop启动失败原因分析
    用Spring Data JPA 基于内存存储pojo的简单案例
    短信发送AZDG加密算法
    【玩转Ubuntu】09. Ubuntu上安装apktool
    java遍历Map时remove删除元素
    wust 1061 链表的合并
    干货:yii日志功能详解
    xcode解决问题dyld: Library not loaded
  • 原文地址:https://www.cnblogs.com/zhuosanxun/p/14627019.html
Copyright © 2020-2023  润新知