为了账号安全,请及时绑定邮箱和手机立即绑定

代码如下,还请各位帮忙看下问题在哪,谢谢! 代码:

代码如下,还请各位帮忙看下问题在哪,谢谢! 代码:

函数式编程 2023-02-17 22:18:39
使用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软路由的有效命令,或者格式不对?

查看完整回答
反对 回复 2023-02-20
?
杨魅力

TA贡献1811条经验 获得超6个赞

我觉得用截包软件跟踪一下比较好,比如用wireshark之类的。我写过python登录linux终端的,还是比较好用的。出现问题基本也是用wireshark一跟踪就能明白的。

查看完整回答
反对 回复 2023-02-20
  • 2 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信