zoukankan      html  css  js  c++  java
  • python实现Telnet远程登陆到设备并执行命令

    #encoding=utf-8
    import telnetlib
    import time
    
    def do_telnet(Host, username, password, finish, commands):
     
        # 连接Telnet服务器
        tn = telnetlib.Telnet(Host, port=23, timeout=10)
       #timeout只是在初始化socket连接时起作用,而一旦连接成功后出现等待就不起作用了,比如使用read_until方式获取内容时返回的内容与指定的内容不符合,那么就会造成提示等待的情况,这时timeout是不起作用的,这个socket连接会一直保持着,永生不死.一种解决方案是,使用threading模块,利用线程模式来解决. tn.set_debuglevel(
    2) # 输入登录用户名 tn.read_until('ENTER USERNAME < ') tn.write(username + ' ') # 输入登录密码 tn.read_until('ENTER PASSWORD < ') tn.write(password + ' ') # 登录完毕后执行命令 tn.read_until(finish) for command in commands: result = tn.write('%s ' % command); #执行完毕后,终止Telnet连接(或输入exit退出) tn.read_until('COMMAND EXECUTED') tn.close() # tn.write('exit ') if __name__=='__main__': # 配置选项 Host = '10.68.165.25' # Telnet服务器IP username = 'SYSTEM' # 登录用户名 password = 'SYSTEM' # 登录密码 finish = 'LEVEL COMMAND <___>' # 命令提示符 commands = ['ZUSI;'] do_telnet(Host, username, password, finish, commands)

    下一步:如何将write的执行结果输出???

  • 相关阅读:
    ubuntu查看系统负载和程序运行状况
    ubuntu 离线装包
    python如何离线装包 离线如何部署python环境
    开发板上如何配置apahe2+mysql+php7
    c++指针实例
    nginx反向代理nginx,RealServer日志打印真实ip
    lvs+keep搭建高可用web服务
    linux一键安装vncserver脚本
    ansible 学习与实践
    centos7编译安装MySQL5.7.9
  • 原文地址:https://www.cnblogs.com/jp927/p/4661947.html
Copyright © 2011-2022 走看看