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)
(编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |