Telnetlib reading output - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Networking (https://python-forum.io/forum-12.html) +--- Thread: Telnetlib reading output (/thread-19480.html) |
Telnetlib reading output - petterg - Jul-01-2019 Hi, Im using a python telnetlib script to communicate with a device. I want to keep an open connection without exiting. My problem is that i cant read the output before sending the exit command. Based on the telnetlib documentation i tested with read_very_eager() and read_eager() without success. An example of the code: HOST = "192.168.79.182" user = "root" password = "xxx" 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'show time\n') Output = (tn.read_very_eager().decode('ascii')) print(Output)any ideas would be appreciated RE: Telnetlib reading output - searching1 - Jul-06-2019 Are you able to see any logs from the device just to make sure that the script can login to your device? From your command verify the ff. tn.read_until(b"username: ") <- Make sure script read the correct string or login promt tn.write(user.encode('ascii') + b"\n") if password: tn.read_until(b"password: ") tn.write(password.encode('ascii') + b"\n") after this you read this #(priv mode) before sending the command this is for cisco.. but you can use the same method to other platform. tn.read_until(b”#”) tn.write(b'show time\n') tn.read_until(b”#”) <-- once the show time fully executed script should see this before reading or exiting. To read readoutput = tn.read_all().decode(‘ascii’) print readoutput |