在TELNETLIB中写入密码之前超时

时间:2019-01-21 19:45:58

标签: 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'

很明显:-

  • 已建立与设备的连接
  • 脚本一直读到“密码”

我不清楚的是:为什么写密码不起作用并且发生超时? 请帮我。

任何建议将不胜感激!

1 个答案:

答案 0 :(得分:0)

我认为答案不像增加超时时间那么简单吗?也许另一端很慢?

timeout=30
telnetConeection.read_until(b'Password: ', timeout)

此外,您可能应该仔细检查另一端发送给您的所有内容。也许另一端甚至没有给您发送任何东西(这将指向另一个问题)。看起来您已经测试了,并且得到了期望的结果。

此外,Telnet.expect可能会为您提供有关错误的更多信息(例如EOF?没有匹配的内容?)