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

使用telnetlib库编写自动登陆telnet登陆routeros软路由执行命令,运行后能看到登陆成功,但无法执行write()函数的命令,
# -*- coding: cp936 -*-
import telnetlib
host = "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()

函数式编程
浏览 70回答 2
2回答

慕运维8079593

我在Win XP上,执行楼主的代码,可以的,没有任何问题的;所以我怀疑:t.write(commands + '\n') #命令无法执行--------对应的Commands,不是routeros软路由的有效命令,或者格式不对?

杨魅力

我觉得用截包软件跟踪一下比较好,比如用wireshark之类的。我写过python登录linux终端的,还是比较好用的。出现问题基本也是用wireshark一跟踪就能明白的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python