nmap이 명확하게 열린 UDP 포트를 감지하지 못함

nmap이 명확하게 열린 UDP 포트를 감지하지 못함

다음과 같이 로컬 컴퓨터에서 포트 4000을 열었습니다.

nc -lvup 4000

그런 다음 다음과 같이 동일한 포트에 연결을 시도했습니다.

nc -vu 127.0.0.1 4000

성공적으로 연결하고 텍스트를 주고받을 수 있었습니다. 그러나 첫 번째 스니펫에 표시된 것과 동일한 포트에서 수신한 다음 다음을 사용하여 UDP 스캔을 시도하면

nmap -sU 127.0.0.1 -p 4000

결과는 아래와 같습니다.

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000061s latency).

PORT     STATE  SERVICE
4000/udp closed icq

첫 번째 테스트에서 설정한 대로 포트가 확실히 열려 있으므로 열려 있다고 표시하면 안 되나요? 나는 이것 때문에 정말로 당황스럽기 때문에 이해해 주십시오.

답변1

아뇨. 무슨 일이 일어나고 있는지 이해하지 못하는군요. 이것은 UDP입니다.사이.

두 번째로 실행 nc하고 무언가를 입력하면 패킷이 전송됩니다. 그럼 당신은다른 방법으로(통신의 반대편(예: 다른 컴퓨터 화면)을 확인) 통신이 발생하는지 확인합니다. "듣기"가 없으면 nc"보내는" nc는 이러한 패킷이 수신되거나 삭제되었는지에 대한 아무런 단서도 없이 동일한 패킷을 행복하게 보낼 것입니다.

. nmap​패킷을 보내고 아무런 응답도 보지 못하고 패킷이 블랙홀로 사라진 것으로 판단합니다.

이것은 UDP입니다. 이렇습니다. 수신에 대한 본질적인 확인이 없습니다. 애플리케이션에 필요한 경우 자체적으로 확인을 수행합니다. 그리고 여기서는 이를 수행할 애플리케이션 수준 프로토콜이 없기 때문에 nmap은 응답을 볼 수 없으며 "개방 포트"가 감지되지 않습니다.

이에 비해 TCP에는 확인(ACK)이 내장되어 있으므로 포트가 열려 있는지 안정적으로 감지할 수 있습니다.

관련 정보