Python中文
首页
教程
问答
标签
搜索
登录
注册
''t work' Python3 Telnet读取全部(read_all())无效
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在通过Python3远程连接到Cisco路由器。但是,它在运行脚本后挂断(但是我可以从linuxbash远程登录到路由器)。请参阅下面我的脚本和输出片段。在</p> <pre><code>import getpass import telnetlib HOST = "10.10.32.3" user = input("Enter your telnet username: ") password = getpass.getpass() tn = telnetlib.Telnet(HOST) tn.read_until(b"Username: ") tn.write(user.encode('ascii') + b"\n") if password: tn.read_until(b"Password: ") tn.write(password.encode('ascii') + b"\n") tn.write(b"conf t\n") tn.write(b"int l0\n") print(tn.read_all().decode('ascii')) </code></pre> <p>这是路由器上<code>debug telnet</code>的输出</p> ^{pr2}$ <p>以及<code>show tcp brief</code>的输出</p> <pre><code>Router#sho tcp brief TCB Local Address Foreign Address (state) 10C90CE0 10.10.32.3.23 192.168.122.61.51466 ESTAB </code></pre> <p>我可以创建环回接口,但是我的linuxbash没有显示telnet输出。请据此指导。谢谢您。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>telnetlib中的<code>.read_all()</code>被记录为“在EOF之前读取所有数据;在连接关闭之前阻塞。”。由于您没有做任何会导致连接关闭的操作,因此挂起正是您应该期望在这里发生的事情。尝试先向路由器发送退出命令。或者,如果要根据读取的结果发出进一步的命令,请使用<code>.read_until()</code>(可能指定了超时)。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
3 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
3 回答
在Python3中使用Script=argv
6 回答
在python3中使用selenium webdriver进行未解析的回溯
3 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
8 回答
在Python3中使用Selenium和Requests模块从网页获取文件
4 回答
在python3中使用SIGINT终止函数
10 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
2 回答
在python3中使用smtplib发送XML内容
3 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
6 回答
在python3中使用sounddevice和numpy编写wav文件
9 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
1 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
3 回答
在python3中使用SQLite的FTS3/4
10 回答
在Python3中使用struct.calcsize()和len()有区别吗?
4 回答
在python3中使用substring函数时发生TypeError
8 回答
在Python3中使用Tkinter entry小部件写入串行设备
8 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
5 回答
在python3中使用tkinter的子帧
6 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
10 回答