nmap não detecta porta udp claramente aberta

nmap não detecta porta udp claramente aberta

Abri a porta 4000 na minha máquina local da seguinte forma:

nc -lvup 4000

e então tentei conectar à mesma porta da seguinte maneira:

nc -vu 127.0.0.1 4000

e foi capaz de se conectar, enviar e receber texto com sucesso. No entanto, quando escuto na mesma porta mostrada no primeiro trecho e tento uma varredura UDP usando

nmap -sU 127.0.0.1 -p 4000

O resultado é o seguinte:

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

PORT     STATE  SERVICE
4000/udp closed icq

Não deveria estar aberto, já que a porta está claramente aberta conforme estabelecido pelo primeiro teste? Por favor, faça sentido, pois estou realmente perplexo com isso.

Responder1

Não. Você não entende o que está acontecendo. Isso é UDP, não háconexões.

Quando você executa o segundo nce digita algo nele, ele apenas envia pacotes. Então vocêpor outros meios(ver para o outro lado da comunicação, por exemplo, para outra tela de computador) confirme se a comunicação ocorre. Se não houvesse "escuta" nc, o nc "enviador" enviaria alegremente os mesmos pacotes, sem qualquer pista se estes foram recebidos ou descartados.

O mesmo acontece nmap. Ele envia pacotes, não vê nenhuma resposta e decide que seus pacotes simplesmente desapareceram no buraco negro.

Isso é UDP, é assim. Não possui confirmação intrínseca de recepção. Se o aplicativo precisar, ele mesmo faz as confirmações. E como não temos nenhum protocolo de nível de aplicativo para fazer isso aqui, o nmap não vê nenhuma resposta, nenhuma "porta aberta" foi detectada.

Em comparação, o TCP possui confirmações (ACKs) integradas, é por isso que podemos detectar com segurança se a porta está aberta.

informação relacionada