JonStanley91 JonStanley91 - 1 year ago 126
Python Question

Telnet not working for os.system call

Why cant I call the following in python using os?

import os

yet when I open a terminal and use the exact command, I can telnet. I get the following when running the code:

'telnet' is not recognized as an internal or external command,
operable program or batch file.

I have enabled TelnetClient and TelnetServer

mK7 mK7
Answer Source

@Jon S.: Programs like Telnet and SSH are interactive in nature. So when you open a telnet it will return something from the shell it is running to handle that particular connection. I haven't tried running the command like you mentioned above but I have used 'telnetlib' of python in Windows successfully in the past and still using it. Here is a snippet that can be of help.

import telnetlib
import os

host_ip = ""
user = "user"
password = "password"

tnet_hndl = telnetlib.Telnet(host_ip)
print (tnet_hndl.read_until(b"login: "))
tnet_hndl.write(user.encode('ascii') + b"\n")
print (tnet_hndl.read_until(b"Password: "))
tnet_hndl.write(password.encode('ascii') + b"\n")
print (tnet_hndl.read_until(b"# "))
#tnet_hndl.set_debuglevel(1) #enable this if you want to debug more
tnet_hndl.write(b"<enter some windows cmd here>" + b"\n")
print (tnet_hndl.read_until(b"# "))

Hope this helps.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download