python - 在 TELNETLIB 中写入密码前超时
问题描述
我正在尝试使用 ip 远程登录到设备。
import telnetlib
deviceIp = '192.168.1.135'
password1='xxxxxx'
telnetConeection = telnetlib.Telnet(deviceIp,23)
telnetConeection.read_until(b'Password: ')
telnetConeection.write(password1.encode('ascii') + b"\n")
telnetConeection.write(b'\n')
telnetConeection.write(b'port\n')
print(telnetConeection.read_all())
输出为:b'Timeout!\n'
很清楚 :-
- 与设备建立连接
- 脚本正在读取直到“密码”
我不清楚的是:为什么写入密码不起作用并且发生超时?请帮帮我。
任何建议将不胜感激!
解决方案
我不认为答案就像增加超时一样简单?也许另一端很慢?
timeout=30
telnetConeection.read_until(b'Password: ', timeout)
此外,您可能应该仔细检查另一端发送给您的所有内容。也许另一端甚至没有给你发送任何东西(这将指向一个不同的问题)。看起来你已经测试过了,你得到了你所期望的。
此外, Telnet.expect 可能会为您提供有关错误的更多信息(即 EOF?没有匹配项?)
推荐阅读
- kubernetes - 在 Kubernetes 中运行时,Apache Storm UI 和工作人员无法解析 nimbus
- excel - 如何在Excel中删除零件编号之间的0
- php - update_batch 在 Modal 中不起作用 - 更新功能
- python-3.x - 在 Celery 中分别按 id 检索所有链式任务结果
- javascript - 反应本机图像“无法解析模块”
- python - Python:使用来自特定行的计算值将列添加到数据框
- java - Jpa 存储库保存类型参数“S”的推断类型“S”不在其范围内
- r - 更新到 R 3.5.0 后,Rstudio-server 无法启动:传输过程中发生错误
- react-native - 无法呈现一组(列表)文本
- python - 通过正则表达式获取重复内容