2016-12-21 9 views
0

나는 텔넷 대화를해야하고 이것은 공인 telnetlib 라이브러리를 사용하도록 가져왔다. 여기서 널리 설명된다 : telnetlib. 실제로이 소프트웨어를 사용하는 시스템에는 여러 개의 IP가 있지만 실제로는 입니다. telnetlib은 telnet 대화의 핸드 셰이크 단계에서 사용되는 IP를 변경하는 것이 쉽지 않거나 분명하지는 않습니다.telnetlib.Telnet에서 다른 IP를 사용하십시오. 기본값으로 선택하는 대신?

누구나 그에 대한 유용한 정보가 있습니까?

+1

서버에 많은 IP가 있음을 의미합니까? 하지만 서버가이 모든 IP에서 FTP를 사용합니까? – furas

+0

그래도 서버는 5 개의 IP와 루프백을 소유하고 있습니다. _telnet_ 대화를 만드는 데 사용되는 것을 결정하고 싶습니다. –

답변

0

telnetlib에 대한 소스가 여기에 있으며 소켓의 IP를 지정하는 방법을 제공하지 않으므로 선택하기 위해 OS에 남겨 둡니다. 그러면 '기본'네트워크 인터페이스가됩니다.

self.sock = socket.create_connection((host, port), timeout) 

https://hg.python.org/cpython/file/2.7/Lib/telnetlib.py#l227

create_connection() 서명이다

socket.create_connection(address[, timeout[, source_address]]) 
제공된 경우

는 source_address 소켓이 소스로 결합 할 수있는 2- 튜플 (호스트 포트)이어야 주소를 입력하십시오. 호스트 또는 포트가 각각 ''또는 0이면 OS 기본 동작이 사용됩니다. https://docs.python.org/2/library/socket.html

당신은 telnetlib.py를 복사 create_connection()

내가 이것을 테스트하지 않았습니다 수정할 수 있습니다! 그러나 l227

self.sock = socket.create_connection((host, port), timeout, (src_host, src_port)) 

에 같은 수 또는() 원하는 인터페이스 정보를 전달하기 위해 호출 개방에 키워드 인수를 추가 할 수 있습니다.

+0

감사합니다. 내가 필요한 것. –