我正在尝试通过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'
很明显:-
我不清楚的是:为什么写密码不起作用并且发生超时? 请帮我。
任何建议将不胜感激!
答案 0 :(得分:0)
我认为答案不像增加超时时间那么简单吗?也许另一端很慢?
timeout=30
telnetConeection.read_until(b'Password: ', timeout)
此外,您可能应该仔细检查另一端发送给您的所有内容。也许另一端甚至没有给您发送任何东西(这将指向另一个问题)。看起来您已经测试了,并且得到了期望的结果。
此外,Telnet.expect可能会为您提供有关错误的更多信息(例如EOF?没有匹配的内容?)