加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Python3 扩展包 TelnetLib 使用

发布时间:2021-05-21 04:53:07 所属栏目:大数据 来源: https://blog.csdn.net/yilovex
导读:@H_404_0@ #!/usr/bin/env python3# -*- coding: UTF-8 -*-import timeimport telnetlibclass TelnetLib(object): def __init__(self): self.tn = None self._output = True self._system = False self.sleep = None self.timeout = None self.data = [] self
@H_404_0@#!/usr/bin/env python3 # -*- coding: UTF-8 -*- import time import telnetlib class TelnetLib(object): def __init__(self): self.tn = None self._output = True self._system = False self.sleep = None self.timeout = None self.data = [] self.EXIT = b'quitn' self.USERNAME = b'Username:' or b'Login:' or b'username' or b'login' self.PASSWORD = b'Password:' or b'password' @staticmethod def format(data): return data.encode('UTF-8') + b'n' def link(self,host,port=23,sleep=1,timeout=3): try: self.sleep = sleep self.timeout = timeout self.tn = telnetlib.Telnet(host,port,self.timeout) except Exception as e: raise ValueError('设备连接错误:%s' % e) def login(self,username,password): try: self.data.append(self.tn.read_until(self.USERNAME,self.timeout)) self.tn.write(self.format(username)) time.sleep(self.sleep) self.data.append(self.tn.read_until(self.PASSWORD,self.timeout)) self.tn.write(self.format(password)) time.sleep(self.sleep) if self._output is True: self.tn.write(self.format('screen-length disable')) except Exception as e: raise ValueError('设备登录错误:%s' % e) def system(self): self._system = True self.tn.write(self.format('system-view')) time.sleep(self.sleep) def shell(self,command): try: self.tn.write(self.format(command)) time.sleep(self.sleep) self.data.append(self.tn.read_very_eager()) except Exception as e: raise ValueError('命令执行错误:%s' % e) def log(self): return ''.join([data.decode('UTF-8') for data in self.data if data]) def exit(self): try: if self._system is True: self.tn.write(self.EXIT) self.tn.write(self.EXIT) time.sleep(self.sleep) self.data.append(self.tn.read_very_eager()) self.tn.close() except Exception as e: raise ValueError('设备退出错误:%s' % e)

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读