2013-07-23 2 views
0

왜 os를 사용하여 파이썬에서 다음을 호출 할 수 없습니까?os.system 호출을 위해 텔넷이 작동하지 않습니다.

import os 
os.system('telnet 1.1.1.1') 

아직 터미널을 열고 정확한 명령을 사용하면 텔넷을 사용할 수 있습니다. 코드를 실행할 때 다음과 같은 메시지가 나타납니다.

'telnet'이 내부 또는 외부 명령 작동 가능 프로그램 또는 배치 파일로 인식되지 않습니다.

내가 한 telnetClient 및 TelnetServer

+1

그래서 쉘을 열고'which telnet'을 입력하면 어떻게됩니까? (Windows에서는'telnet.exe'를 사용하십시오.) –

+0

windows 7 - C : \ Windows \ System32 \ telnet.exe – JonStanley91

+0

'sys.path'를 인쇄하면'C : \ Windows \ System32'가 경로에 포함됩니까? –

답변

0

@ 존 S : 텔넷 및 SSH와 같은 프로그램은 본질적으로 상호 작용합니다. 따라서 텔넷을 열면 특정 연결을 처리하기 위해 실행중인 쉘에서 반환합니다. 위에서 언급 한 명령을 실행하지 않았지만 Windows에서 파이썬의 'telnetlib'를 성공적으로 사용하여 성공적으로 사용했습니다. 여기에 도움이 될 수있는 발췌 문장이 있습니다.

import telnetlib 
import os 

host_ip = "1.1.1.1" 
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"# ")) 
tnet_hndl.close() 

희망이 있습니다.

+0

이것은 약간의 도움이됩니다. 저는 이미 이와 같은 것들을 살펴 보았습니다. 이 유형의 코드에 대한 내 문제점은 코드를 읽는 동안 빨기 때문에 * 위의 코드를 실행 한 결과 print tnet_hndl.read_until (b "login :")에서 멈춘 것입니다. 왜 그런지는 모르지만 .read_until 함수를 통과하지 못합니다. – JonStanley91

+0

Windows에서 텔넷을 대상 컴퓨터로 사용하는 동안 얻을 수있는 프롬프트와 함께 "login :"을 "b :"로 대체해야합니다. – mK7

+0

간격이 중요합니까? 텔넷을 정상적으로 사용하면 "사용자 이름 : a"가 표시됩니다. 여기서 a는 사용자 이름을 입력 할 수있는 위치의 시작을 나타냅니다. 나는 이것을하고 싶을 것이라고 생각 하나? 하나의 공백으로 print (tnet_hndl.read_until (b "User Name :"))? 나는 1과 2 개의 공백을 시도했지만 여전히 운이 없다. – JonStanley91

0

그냥 os.system('C:/Windows/System32/telnet.exe 1.1.1.1 <port number>')을 시도하고 무슨 일이 일어 나는지 활성화?

+0

물론 끝 부분에 포트 번호를 추가해야합니다. – user2547836

+0

'C : \ Windows \ System32 \ telnet.exe'는 내부 또는 외부 명령 작동 가능 프로그램 또는 배치 파일로 인식되지 않습니다. – JonStanley91

+0

포트가 23입니다. 기본값으로 설정되었으므로 괜찮지 않아야합니까? – JonStanley91

관련 문제