Você publica uma API, configura o domínio e testa os endpoints. Tudo funciona. Mas quais outros serviços estão acessíveis naquele servidor?

O Nmap ajuda a responder essa pergunta.

Seu nome vem de Network Mapper. Ele permite descobrir dispositivos na rede, verificar portas e buscar informações sobre os serviços disponíveis. É uma ferramenta útil tanto para segurança quanto para diagnóstico de infraestrutura.

O Nmap funciona pela linha de comando. Para quem prefere uma interface gráfica, existe o Zenmap, a interface oficial, que permite configurar varreduras, salvar perfis e comparar resultados.

O que uma porta pode revelar?

Uma mesma máquina pode disponibilizar vários serviços: uma aplicação web, acesso SSH e um banco de dados, por exemplo.

O Nmap envia sondagens e interpreta as respostas para identificar o estado das portas.

Preparando um teste

Use uma máquina ou ambiente de laboratório com uma aplicação em execução. Faça as análises apenas em ambientes próprios ou autorizados.

Nos exemplos, substitua <IP_DO_AMBIENTE_DE_TESTE> pelo endereço desse ambiente, removendo os sinais < e >.

Se sua aplicação utiliza a porta 3000, você pode começar com:

nmap -p 3000 <IP_DO_AMBIENTE_DE_TESTE> 

A flag -p define qual porta será verificada. Caso sua aplicação utilize outra porta, ajuste esse número.

Com o serviço acessível, a porta deverá aparecer como open. Depois, experimente parar a aplicação e repetir a análise. Se nenhum outro processo estiver usando a porta e não houver filtragem no caminho, ela deverá aparecer como closed.

Flags para entender melhor o resultado

As flags permitem definir o escopo da análise, investigar os serviços e controlar as informações exibidas.

Flag Para que serve
-p 3000 Verifica apenas a porta indicada.
-sV Tenta identificar o serviço e sua versão.
-v Exibe mais detalhes sobre o andamento da execução.
--reason Mostra o motivo da classificação de uma porta.
-oN resultado.txt Salva o resultado em um arquivo de texto.

Podemos combinar algumas delas:

nmap -sV -p 3000 --reason -v <IP_DO_AMBIENTE_DE_TESTE> 

Nesse comando, o Nmap verifica a porta 3000, tenta identificar o serviço e apresenta mais detalhes sobre a análise.

Existe uma diferença importante: -v detalha a saída no terminal; -sV realiza sondagens adicionais para investigar o serviço.

Outro detalhe é a coluna SERVICE. Sem a detecção de versão, o nome exibido pode ser apenas o serviço normalmente associado àquela porta. Ele não confirma, sozinho, qual aplicação está rodando.

Por que dizem que o Nmap faz “barulho”?

Porque a varredura envolve tráfego real sendo enviado ao destino.

Dependendo da técnica e das opções utilizadas, essa atividade pode gerar registros nos serviços e alertas em sistemas de detecção de intrusão.

Ao usar -sV no seu laboratório, observe os logs da aplicação. As sondagens podem aparecer como requisições inesperadas ou respostas de erro, dependendo de como o serviço lida com elas.

O “barulho” é essa atividade perceptível no ambiente, não a quantidade de texto exibida no terminal.

O escopo também influencia: verificar mais portas e investigar versões pode aumentar o tempo e o tráfego da análise. Começar pelas portas relevantes facilita a interpretação dos resultados.

Existe ainda a flag -A, que reúne detecção de sistema operacional, identificação de versões, scripts padrão e traceroute. Ela amplia a investigação; não serve apenas para exibir uma descrição mais detalhada.

Onde isso ajuda no dia a dia?

Para quem desenvolve aplicações, o Nmap pode ajudar a investigar:

  • Uma API que funciona na própria máquina, mas não aceita conexões de outra.
  • Um banco de dados acessível além do esperado.
  • Um serviço que continua disponível depois de uma mudança no ambiente.

Os resultados precisam ser interpretados considerando o ponto de origem da análise. Uma porta acessível na rede local pode estar bloqueada para conexões externas.

O valor está em comparar o que deveria estar acessível com o que realmente está. Encontrar uma porta aberta é o começo da investigação.

Referências