나는 파이썬 3을 통해 시스코 라우터에 텔넷 접속하고 있습니다. 그러나 스크립트를 실행 한 후 끊습니다 (하지만 Linux bash에서 라우터에 텔넷 할 수 있습니다). 제 스크립트의 발췌문을보고 아래에 출력하십시오.python3 telnet read_all()이 작동하지 않습니다.
import getpass
import telnetlib
HOST = "10.10.32.3"
user = input("Enter your telnet username: ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until(b"Username: ")
tn.write(user.encode('ascii') + b"\n")
if password:
tn.read_until(b"Password: ")
tn.write(password.encode('ascii') + b"\n")
tn.write(b"conf t\n")
tn.write(b"int l0\n")
print(tn.read_all().decode('ascii'))
그리고 이것은 라우터
Router#
*Nov 2 23:48:24.317: Telnet578: 1 1 251 1
*Nov 2 23:48:24.318: TCP578: Telnet sent WILL ECHO (1)
*Nov 2 23:48:24.318: Telnet578: 2 2 251 3
*Nov 2 23:48:24.318: TCP578: Telnet sent WILL SUPPRESS-GA (3)
*Nov 2 23:48:24.318: Telnet578: 80000 80000 253 24
*Nov 2 23:48:24.319: TCP578: Telnet sent DO TTY-TYPE (24)
*Nov 2 23:48:24.319: Telnet578: 10000000 10000000 253 31
*Nov 2 23:48:24.319: TCP578: Telnet sent DO WINDOW-SIZE (31)
*Nov 2 23:48:24.383: TCP578: Telnet received DONT ECHO (1)
*Nov 2 23:48:24.383: TCP578: Telnet sent WONT ECHO (1)
*Nov 2 23:48:24.387: TCP578: Telnet received DONT SUPPRESS-GA (3)
*Nov 2 23:48:24.387: TCP578: Telnet sent WONT SUPPRESS-GA (3)
Router#
*Nov 2 23:48:24.389: TCP578: Telnet received WONT TTY-TYPE (24)
*Nov 2 23:48:24.389: TCP578: Telnet sent DONT TTY-TYPE (24)
*Nov 2 23:48:24.390: TCP578: Telnet received WONT WINDOW-SIZE (31)
*Nov 2 23:48:24.391: TCP578: Telnet sent DONT WINDOW-SIZE (31)
*Nov 2 23:48:24.407: TCP578: Telnet received DONT ECHO (1)
*Nov 2 23:48:24.407: TCP578: Telnet received DONT SUPPRESS-GA (3)
*Nov 2 23:48:24.407: TCP578: Telnet received WONT TTY-TYPE (24)
*Nov 2 23:48:24.408: TCP578: Telnet received WONT WINDOW-SIZE (31)
에 debug telnet
의 출력 내가 루프백 인터페이스를 만들 수 있습니다 show tcp brief
Router#sho tcp brief
TCB Local Address Foreign Address (state)
10C90CE0 10.10.32.3.23 192.168.122.61.51466 ESTAB
의 출력이지만, 내 리눅스 bash는하지 않는 나에게 텔넷 출력을 보여줘. 그에 따라 안내하십시오. 고맙습니다. telnetlib의
좋아요! 그것은 효과가있다! 나는 exit 명령을 보냈습니다. 브라보. 그러나 나는 당신에게 투표권을주기에 충분한 명성이 없습니다. 제발 내 질문에 투표를 한 다음, 나는 당신의 대답에 투표 할 것입니다 :) –