telnet
와 의 차이점을 찾을 수 있는 설명을 찾고 있습니다 netcat
. 어떤 경우에 telnet
and를 사용해야 하나요 netcat
? telnet
할 수 없는 일과 netcat
그 반대의 일은 무엇입니까 ?
인터넷에서 답변을 얻으려고 노력했지만 이해하는 데 도움이 되지 않습니다. 내가 찾을 수 있었던 것은 다른 cmd뿐이었습니다. 차이점이 있는 사용 사례를 찾고 있습니다.
누군가 설명으로 차이점을 설명 할 수 있습니까?
답변1
참고: 여러 가지 Telnet 프로그램과 여러 가지 Netcat 변형이 있습니다. 다소 다른 기능이 있을 수 있습니다.
일반적으로 telnet
RFC 854 "Telnet" 프로토콜은 구체적으로 말합니다. 이는 특정 바이트를 서버에서 오는 Telnet 옵션 협상 명령으로 인식하고 적절하게 응답하며 각 연결이 시작될 때 자체 전송합니다. (예를 들어 $TERM 값과 행×열 단위의 창 크기를 서버에 보고합니다.) 또한 Unix LF 줄 바꿈을 NVT CR+LF 버전으로 변환하고 Ctrl+]를 "escape" 키로 인식합니다.
이는 telnet
전송된 데이터를 망칠 수 있으므로 원시 8비트 TCP 연결에 적합하지 않으며 일반적으로 일괄 사용에는 적합하지 않습니다. 그러나 FTP 또는 SMTP와 같은 ASCII 기반 프로토콜을 대화식으로 탐색하는 데 여전히 사용할 수 있습니다. 많은 Telnet 클라이언트가 비표준 포트에 연결하는 경우 협상을 시작하지 않기 때문에 작동합니다(그러나 여전히 응답합니다).
Netcat은 nc
그런 일을 하지 않습니다.주로8비트 클린 TCP 클라이언트. 텔넷과 같은 ASCII 프로토콜과 함께 사용할 수 있지만, 이를 통해 전송된 바이트를 변경하지 않기 때문에 일괄 데이터 전송을 위해 TCP에 대한 "파이프"로 사용할 수도 있고 자주 사용됩니다.
Netcat은 비TCP 전송(UDP, 때로는 SCTP, 로컬 Unix 소켓)도 제공하는 경우가 많지만 Telnet 클라이언트는 TCP 전용입니다.
반면에 netcat은 어떤 프로토콜도 이해하지 못합니다. 를 사용하여 실제 Telnet 서버에 연결하려고 하면 nc
전혀 제대로 작동하지 않습니다. 서버는 사용자가 사용 중인 터미널 유형을 알 수 없으며 창 크기를 조정할 수 없습니다.
- 포트 23에서 Telnet 서버에 연결하는 경우
telnet
. cat
TCP와 같은 것이 필요한 경우nc
또는 을 사용하십시오socat
.- 텍스트가 아닌 데이터를 보내거나 받아야 하는 경우
nc
/ 를 사용socat
하지 마세요telnet
. - SMTP, IRC, IMAP 또는 HTTP 명령을 수동으로 입력하려는 경우 두 도구 모두 제대로 작동합니다. (실제로
telnet
줄 끝을 일부 서버에서도 요구하는 CR+LF로 변환하므로 약간 더 잘 작동할 수 있습니다.)