Python Forum
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