Muitos serviços de rede são executados usando o protocolo de controle de transmissão ou TCP como protocolo da camada de transporte. Isso ocorre porque o TCP oferece comunicação orientada à conexão que permite que o dispositivo de transmissão seja certifique-se de que o destinatário pretendido da mensagem realmente a recebe, porque uma conexão bidirecional é criada.
Nem todo aplicativo precisa ter esse tipo de conexão, no entanto, especialmente aplicativos em tempo real, onde é preferível que uma mensagem seja descartada do que ter que esperar que ela seja retransmitida, atrasando tudo outro. Para esses aplicativos, o protocolo de datagrama de usuário ou protocolo de camada de transporte UDP é geralmente usado.
Um exemplo de tipo de programa que usa UDP são os videogames online. Esses jogos dependem de atualizações constantes enviadas pelo servidor e pelo computador e qualquer atraso causado pela retransmissão de dados é significativamente mais prejudicial do que ter que lidar com um ou dois pacotes perdidos.
Como esses serviços baseados em UDP podem estar em qualquer rede, é importante verificá-los como parte de um teste de penetração. Felizmente, como o UDP é bastante comum, geralmente é compatível com software de teste de rede, e o Nmap não é exceção.
Como escanear portas UDP com Nmap
Testar portas UDP com Nmap é muito semelhante a testar TCP; na verdade, a sintaxe é essencialmente idêntica. A única diferença é que você precisa especificar o sinalizador “tipo de varredura” como “-sU” em vez de “-sT” ou “-sS”. Por exemplo, um comando poderia ser “nmap -sU 127.0.0.1 –top-ports 100 -vv” para verificar o endereço de loopback das 100 portas UDP mais comuns e relatar os resultados com saída duplamente detalhada.
Uma coisa que você deve estar ciente sobre uma varredura UDP é que ela demorará muito. A maioria das solicitações não recebe nenhuma resposta, o que significa que a varredura deve aguardar o tempo limite da solicitação. Isso torna as varreduras muito mais lentas do que as varreduras TCP, que normalmente retornam algum tipo de resposta, mesmo se uma porta for fechada.
Existem quatro resultados que você pode ver para as portas UDP “abertas”, “abertas | filtradas”, “fechadas” e “filtradas”. “Aberto” indica que uma solicitação obteve uma resposta UDP. “Aberto | filtrado” indica que nenhuma resposta foi recebida, o que pode indicar que um serviço estava escutando ou que não havia serviço ali. “Fechado” é uma mensagem de erro específica de “porta inacessível” do ICMP. “Filtrado” indica outras mensagens de erro ICMP inacessíveis.