【发布时间】:2019-12-16 03:08:35
【问题描述】:
我正在尝试使用 telnet 向 hp 交换机发送简单的命令。 python方面没有错误,只有调试响应中出现奇怪的事情。
import sys
import telnetlib
HOST = "192.168.5.101"
user = "admin"
password = "password"
telnet = telnetlib.Telnet(HOST)
telnet.set_debuglevel(9)
telnet.read_until(b"login: ")
telnet.write(user.encode('ascii') + b"\n")
telnet.read_until(b"Password: ")
telnet.write(password.encode('ascii') + b"\n")
tn.write(b"system-view\n")
回复:
recv b'\r\n\r\nUsername:'
recv b'\r\n% Username: timeout expire!'
send b'admin\n'
recv b'\r\nUsername:admin\r\nPassword:'
recv b'\r\n% Username: timeout expired!'
recv b''
send b'password\n'
send b'system-view\n'
ConnectionAbortedError: Windows 10053
找不到无法发送用户名和密码的问题,或者在交换机上执行命令的问题?
【问题讨论】:
-
请注意,Telnet 的正确“换行符”是
"\r\n",如您收到的回复所示。 -
您的代码需要
login:提示,而远程主机等待Username:提示上的输入。此外,主机的提示似乎没有尾随空格字符,而您的预期模式有。 -
是的,问题出在登录/密码后的空格中,并且命令也应该被编码,thx