서버에서 텔넷이 실행 중인지 어떻게 감지합니까?

서버에서 텔넷이 실행 중인지 어떻게 감지합니까?

LAN연결할 수 있는 디지털 오실로스코프가 있습니다 . telnet범위에서 실행 중인지 확인하고 싶습니다 (설명서에는 그렇게 나와 있지 않지만 설명서에는 LAN 포트에 대한 유용한 정보가 제공되지 않습니다).

netcat과 telnet을 사용하여 연결을 시도했고 성공했습니다. 이 telnet명령은 연결을 확인하지만 TCP 포트(사용됨)에 대한 연결만 볼 수 있습니다 wireshark.

내가 telnet아는 프로토콜에 따르면 외부에서 보면 유인 TCP 포트처럼 보이고 협상 명령 구성은 선택 사항이므로 응답 없이 보내는 것은 설득력이 없습니다.

편집하다: 관심 있으신 분들은 스코프는 오원 SDS7102E 입니다. LAN 연결에 관심이 있다면 이 범위를 구입하지 마십시오. 문서는 기본적으로 존재하지 않습니다("LAN은 USB와 동일합니다"라고 표시됨). 제조업체는 도움을 주려는(또는 적어도 답변을 한) 데 관심이 있는 것 같지만 아직 실제 솔루션은 없습니다.

답변1

파일에 3줄을 추가하여 클라이언트에서 텔넷 연결을 디버깅할 수 있습니다 ~/.telnetrc.

scope
 set netdata
 set options

범위의 호스트 이름은 어디에 scope있습니까? 이는 열 1에 있어야 하며 나머지 2줄은 공백 1만큼 들여쓰기되어야 합니다.

텔넷을 실행하면 이제 읽고 쓴 데이터와 보내고 받은 명령(있는 경우)이 표시됩니다.

범위가 응답하는지 확인하기 위해 명시적인 텔넷 협상 명령을 보낼 수 있습니다. 리모컨이 이미 있다고 생각하는 값으로 설정을 변경하면 응답하지 않으므로 명령과 반대의 명령을 시도해야 할 수도 있습니다. 예를 들어, control-]명령 모드로 들어가기 위해 입력하면 "Are you there?"라는 메시지가 전송됩니다.

telnet> send ayt
> 0x0   fff6
< 0x0   74643a207265637620494143204159540d0a0d0a5b686f6d65203a207965735d
< 0x20  0d0a
td: recv IAC AYT

[scope : yes]

그리고 데이터 >라인 <은 결과입니다 set netdata. 협상라인 td:이 결과다 set options. (안 보이면 rc 파일이 무시되고 있을 가능성이 있으니 명령 모드에서 명시적으로 입력해 보세요.)

에코를 켰다가 껐다가 다시 켭니다.

telnet> send do echo

telnet> send dont echo
> 0x0   fffe01
< 0x0   74643a207265637620646f6e74204543484f0d0afffc0174643a2073656e6420
< 0x20  776f6e74204543484f0d0a
td: recv dont ECHO
td: send wont ECHO

telnet> send do echo
> 0x0   fffd01
< 0x0   74643a207265637620646f204543484f0d0afffb0174643a2073656e64207769
< 0x20  6c6c204543484f0d0a
td: recv do ECHO
td: send will ECHO

답변2

당신은에 연결할 수 있습니다어느뒤에 텔넷 서버가 없더라도 텔넷 포트를 사용하세요. 포트에서 클라이언트가 먼저 무언가를 보낼 것으로 예상하는 경우 연결 시 아무 것도 표시되지 않습니다. 이는 바로 귀하가 경험하고 있는 것과 같습니다.

따라서 텔넷 서버가 실행 중이고 입력을 기다리고 있을 수도 있고, 다른 서버가 실행 중일 수도 있고, 연결 가능한 것처럼 가장하는 방화벽 기능이 있을 수도 있습니다. 단독으로 말하기는 어렵습니다 telnet.

알 수 없는 장치에서 어떤 서비스가 실행되고 있는지 알아보려면 프로브를 사용하는 것이 좋습니다 nmap.

관련 정보