2012-05-02 2 views
8

소켓과의 텔넷 연결을 협상하려고합니다. 소켓이 작동되어 있지만 서버는 나에게 그 일 말하고있다 :텔넷 IAC 명령 응답

ÿýÿýÿûÿû 

login: 

ÿýÿýÿûÿû 내가 모든 RFC의 문서 그러나 나는 돈을 읽고 255 253 1 255 253 31 255 251 1 255 251 3

의미를 (문자열 ASCII 데이터?)를 서버에 보낼 수 있도록 응답해야하는 것이 무엇인지 이해하고 싶습니다. 내 생각에 로그인 프롬프트를 성공적으로 실행 한 다음 "halt"또는 다른 것과 같은 서버에 명령을 보냅니다.

미리 답변 해 주셔서 감사합니다. RFC 854에서

+0

외부 텔넷 포트에 연결되어 있지 않으면 일반 텔넷 클라이언트 (명령 줄에서)가 IAC/협상을 해제합니다. IAC 코드는 구문 분석하기 쉽습니다. IIRC에는 2 바이트 및 3 바이트 시퀀스가 ​​있습니다. 대부분의 경우 에코 켜기/끄기 스위치를 제외한 모든 것을 무시할 수 있습니다. RFC에서 찾아보십시오. – wildplasser

+0

표 : 게시물의 코드가 손상된 것 같습니다. 255 + 253은 3 바이트 시퀀스 (IAC + DO + option_number)의 일부입니다. 두 번째 바이트 {251,252,253,254} -> 세 번째 바이트가옵니다. – wildplasser

+0

내 게시물을 편집했습니다! –

답변

22

다음 NVT가 어떤 옵션도 활성화하지 않는 DO NOT과 때 남아있는 것입니다 때문에

응답은 상태에서 연결을 떠나 보장하지 않을 것이다 하는 양쪽 다룰수있다. 따라서 모든 호스트는 TELNET 프로세스를 구현하여 이 지원되지 않는 옵션을 인식하지 못하고 이해할 수없는 옵션 요청 인 거부 요청을 거부 (즉 거절)합니다.

즉, 모든 WILL에 대해 DONT으로 응답하십시오. DO 일 경우 WONT으로 응답하십시오. 귀하의 경우에는

, 당신이받은 (IANA assigned telnet options 참조)

255 253 1 IAC DO ECHO 
255 253 31 IAC DO NAWS 
255 251 1 IAC WILL ECHO 
255 251 3 IAC WILL SUPPRESS-GO-AHEAD 

그래서 당신이 응답해야 : 당신이없는

255 252 1 IAC WONT ECHO 
255 252 31 IAC WONT NAWS 
255 254 1 IAC DONT ECHO 
255 254 3 IAC DONT SUPPRESS-GO-AHEAD 

참고 알고 무엇을 1, 3, 또는 31 실제로 의미합니다. 그것은 아름다움입니다. 정의를 모르더라도 이러한 옵션을 거부 할 수 있습니다. 네트워크 가상 터미널을 기본값으로 사용하면됩니다. 1 : = 에코, 31 : = 창 크기

+0

작동 중! 당신의 빛에 대해 많이 고마워요 :) –

1

지금 here에서 매개 변수 값을 찾는

255 253 1 IAC DO #1 
255 253 31 IAC DO #31 
255 251 1 IAC WILL #1 
255 251 3 IAC WILL #3 

RFC 854에서 그것을 찾고 있습니다.