首页 > 解决方案 > 在 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'

很清楚 :-

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

任何建议将不胜感激!

标签: pythontelnetlib

解决方案


我不认为答案就像增加超时一样简单?也许另一端很慢?

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

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

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


推荐阅读