telnetpython
① python求大神帮助,如何判断是否telnet成功
看官方文档: https://docs.python.org/2/library/telnetlib.html
如果没有正常打开,read_* 会抛出 EOFError, write 会抛出 socket.error
所以,标准的做法是把后面有read/write的部分统统放在一个 try 语句里,然后捕获 EOFError 和 socket.error
② 怎样写python脚本控制telnet
使用Python实现Telnet远程登录。
Python中专门提供了telnetlib库,用来完成基于telnet协议的通信功能。
利用telnetlib实现远程登录功能。
③ python telnet后如何保存执行tn.write()命令输出的信息 ...
#python3中实现方法
import telnetlib
import os
def do_telnet(Host, username, password, finish,command):
'''Telnet远程登录:Windows客户端连接ZTE olt'''
# 连接Telnet olt
tn = telnetlib.Telnet(Host, port=23, timeout=10)
tn.set_debuglevel(2)
# 输入登录用户名
tn.read_until(b'Username:')
tn.write(username + '\n')
# 输入登录密码
tn.read_until(b'Password:')
tn.write(password + '\n')
# 登录完毕后执行命令
tn.read_until(finish)
tn.write(command+b'\n') #这种保存方法失败,求决解
#要用read来获取输出内容,decode是将字节码数据解码成人类可读的数据
t = tn.read_very_eager().decode('utf-8')
#执行完毕后,终止Telnet连接(或输入exit退出)
tn.read_until(finish)
tn.close() # tn.write('exit\n')
print ('finished')
#将结果作为返回值
return t
if __name__=='__main__':
# 配置选项
Host = '192.168.0.253' # Telnet服务器IP
username = b'ZTE' # 登录用户名
password = b'zte' # 登录密码
finish = b'c300#' # 命令提示符
command = b'show mac'
#获取返回的结果
content = do_telnet(Host, username, password, finish, command)
print(content)
④ python telnet 问题
在连接Windows操作系统的时候,1、读取行问题,tn.read_until("login:"),tn.read_until("password:") 直接改成 tn.read_until("\n")
2、编码的问题,如果直接 tn.write(user+"\n") 系统不识别,所以改成 tn.write(user.encode('ascii') + "\r\n".encode('ascii')) 问题即可解决。
⑤ 怎么用Python对一个交互式的命令行程序进行交互
在cmd里运行这个交互式程序
然后其他就和python和cmd下的程序打交道一样了
比如:
开本机telnet或ssh服务
通过python telnet或ssh到本机,荣国write启动这个交互式程序,开始write and receive就好