使用telnetlib库编写自动登陆telnet登陆routeros软路由执行命令,运行后能看到登陆成功,但无法执行write()函数的命令,# -*- coding: cp936 -*-import telnetlibhost = "127.0.0.1"userName ="test"password ="test"enter = "\n"commands='ip fire fil disable 21'esc='quit' t=telnetlib.Telnet(host)#输入账号t.read_until("Login:",1)t.write(userName + enter) #输入密码t.read_until("Password:",1)t.write(password + enter)#能执行到这一步,登陆成功print "Login Success"#输入命令t.write(commands + '\n') #命令无法执行t.write(esc + '\n') #命令无法执行print t.read_all() #卡在这了print 'Finish!' #后面无法执行t.close()
2 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
我在Win XP上,执行楼主的代码,可以的,没有任何问题的;所以我怀疑:
t.write(commands + '\n') #命令无法执行--------对应的Commands,不是routeros软路由的有效命令,或者格式不对?
杨魅力
TA贡献1811条经验 获得超6个赞
我觉得用截包软件跟踪一下比较好,比如用wireshark之类的。我写过python登录linux终端的,还是比较好用的。出现问题基本也是用wireshark一跟踪就能明白的。
添加回答
举报
0/150
提交
取消