Linux / Comando nmap: verificar portas e interpretar os estados

O comando nmap investiga máquinas e portas de rede para mostrar como elas respondem aos testes. Use-o em equipamentos que você administra ou tem autorização para inspecionar; os estados open, closed e filtered descrevem a visão daquela varredura, sem comprovar a segurança ou a versão real da aplicação.

Nos exemplos deste guia, o destino é 127.0.0.1, o loopback IPv4 da própria máquina. A descoberta de hosts e a varredura de portas são etapas diferentes: -sn omite a varredura de portas, enquanto -Pn omite a descoberta prévia e trata os destinos como ativos para as operações solicitadas.

Sintaxe básica e preparação

nmap [opções] destino

Substitua destino por um endereço autorizado; os colchetes apenas indicam opções. Consulte nmap --version e man nmap na máquina de execução para confirmar a versão e os recursos disponíveis. Se o comando estiver ausente, identifique o pacote adequado à distribuição antes de seguir a prática.

Confira de onde a verificação será executada. O loopback de um contêiner ou de uma máquina virtual não representa automaticamente o sistema hospedeiro. Mesmo um teste local pode ser registrado pelo serviço ou por ferramentas de monitoração; mantenha o escopo compatível com o ambiente em que você está trabalhando.

Exemplos usando o próprio computador

Conhecer a varredura padrão

nmap 127.0.0.1

Com as opções padrão, o Nmap examina as 1.000 portas TCP mais comuns, não todas as portas e nem simplesmente o intervalo de 1 a 1.000. TCP é o Protocolo de Controle de Transmissão. No Linux, o método padrão pode ser uma varredura SYN quando há privilégio para pacotes brutos, ou TCP connect quando esse recurso não está disponível. Por isso, registre o método e o contexto ao comparar resultados.

Esse exemplo é mais amplo que verificar um serviço específico. Se seu objetivo forem apenas as portas 22 e 80, use a seleção explícita abaixo. Não acrescente privilégios ou opções mais amplas apenas para tentar reproduzir uma saída de exemplo.

Limitar a varredura a duas portas TCP

nmap -sT -p 22,80 127.0.0.1

A opção -sT pede o método TCP connect: o Nmap usa a chamada de conexão do sistema operacional e pode completar a conexão nas portas abertas. A opção -p 22,80 limita a etapa de varredura de portas a esses dois números. Ela não é uma declaração de que toda etapa de descoberta usará somente essas mesmas portas.

As portas são convencionalmente associadas a Secure Shell (SSH) e HTTP, o Protocolo de Transferência de Hipertexto. O programa pode informar ambas como fechadas se não houver serviço nelas; não é necessário iniciar um servidor apenas para obter a palavra open. Para uma checagem isolada de conexão, o comando nc também ajuda a separar a aceitação TCP do funcionamento da aplicação.

Realizar apenas descoberta de host

nmap -sn 127.0.0.1

O -sn faz descoberta sem executar depois a varredura de portas. “Sem varredura de portas” não significa “sem tráfego”: conforme o privilégio e o tipo de rede, a descoberta pode usar mensagens ICMP, tentativas TCP ou mecanismos da rede local. ICMP é o Protocolo de Mensagens de Controle da Internet.

O loopback é um caso local; uma indicação de host ativo nesse endereço não testa a Internet, a rota até outro computador ou uma aplicação. Da mesma forma, um destino remoto que não responda à descoberta não está necessariamente desligado: os pedidos ou suas respostas podem ser filtrados.

Ler as colunas PORT, STATE e SERVICE

Para observar a estrutura de uma varredura TCP connect no próprio computador:

nmap -sT 127.0.0.1

Trecho ilustrativo de uma saída possível, sem afirmar que exista SSH ativo na sua máquina:

PORT     STATE  SERVICE
22/tcp   open   ssh
  • PORT: 22/tcp identifica a porta 22 e o protocolo TCP.
  • STATE: open indica que, nesse teste, a porta apresentou uma resposta compatível com um serviço aceitando conexões; com -sT, houve aceitação da tentativa TCP.
  • SERVICE: ssh pode ser apenas o nome associado ao número da porta na base nmap-services. Não comprova que o serviço seja SSH nem informa sua versão.

Se não houver portas abertas no conjunto examinado, a saída pode resumir portas fechadas ou filtradas, sem mostrar essa linha. Uma ausência na tabela não comprova que toda porta do computador foi verificada. Confira o conjunto selecionado e as mensagens de resumo.

Para interpretar os estados nos exemplos TCP: open significa que foi detectada aceitação; closed, que a porta respondeu, mas não havia serviço escutando conforme o teste; filtered, que o Nmap não conseguiu decidir se estava aberta, por filtragem ou respostas insuficientes. Esses estados dependem do método, do caminho, das políticas e do momento; não são propriedades imutáveis da porta.

Uma porta aberta não garante login válido, certificado correto, serviço atualizado ou ausência de vulnerabilidades. O nome da coluna SERVICE sem detecção de versão é uma pista. Mesmo com -sV, a identificação é baseada nas respostas e precisa ser confrontada com a configuração ou o inventário do sistema.

Opções principais e alcance

Opção Efeito
-sT Usa TCP connect pela chamada de conexão do sistema operacional.
-p lista Seleciona as portas da varredura. No exemplo -p 22,80 com -sT, limita essa etapa às duas portas TCP.
-sn Realiza descoberta de host sem a etapa posterior de varredura de portas. Ainda pode gerar pedidos de descoberta.
-Pn Pula a descoberta prévia e tenta as operações solicitadas nos destinos como se estivessem ativos; não comprova que estejam acessíveis.
-sV Interroga serviços para tentar identificar protocolo, produto e versão. Gera pedidos adicionais.
-oN arquivo Grava a saída normal em texto. Escolha um nome novo para preservar resultados anteriores.

O -Pn não é uma correção automática para qualquer falha: em um conjunto grande de destinos, pode levar o Nmap a tentar examinar máquinas que não responderam e aumentar a demora e o tráfego. Em Ethernet local, a resolução de endereços de enlace ainda pode ocorrer; a opção não deve ser entendida como “nenhuma comunicação de descoberta em qualquer camada”.

A opção -sV faz consultas adicionais aos serviços. Ela deve estar dentro do escopo autorizado, assim como qualquer script ou aumento do conjunto de alvos. A varredura simples de portas não precisa ser ampliada para uma detecção de versão quando essa informação não faz parte do objetivo.

Ao usar -oN, separe a opção do caminho com um espaço e escolha um arquivo de destino novo. Os arquivos de saída são sobrescritos por padrão; registre também data, alvo e argumentos para comparar verificações feitas nas mesmas condições. A saída normal é apropriada para leitura e não deve ser confundida com um formato estruturado de inventário.

Uma prática com escopo definido

  1. Confirme a máquina, o contexto de rede e as portas autorizadas. Para o exemplo restrito deste guia, mantenha o loopback e a lista 22,80.
  2. Identifique a versão e use a varredura TCP connect com a seleção explícita de portas. Leia a tabela e o resumo, sem esperar que uma instalação diferente produza as mesmas portas abertas.
  3. Confronte o resultado com o serviço realmente configurado: endereço de escuta, porta e estado do processo. Para uma aplicação, faça também a verificação com seu cliente próprio; aceitar TCP não equivale a atender corretamente uma requisição.
  4. Se houver diferença entre verificações, compare origem, privilégio, método, lista de portas, caminho e horário antes de alterar a configuração. Guarde um resultado separado, sem substituir a referência anterior.

Na verificação deste artigo, o nmap não estava disponível no Git Bash do Windows 11. Os quatro comandos passaram pela análise de sintaxe do Bash; não houve varredura de portas, descoberta de host ou detecção de versão. O trecho de saída é ilustrativo e não representa uma medição no Windows nem uma execução nativa no Linux.

Uma varredura é um retrato do que o Nmap observou no escopo escolhido. Não substitui o inventário de ativos, a análise da configuração ou uma avaliação de segurança completa. Mantenha testes de terceiros restritos às máquinas e operações autorizadas, inclusive quanto ao volume e ao horário.

Pergunta frequente

Filtered significa que a porta está fechada?

Não. Significa que o Nmap não conseguiu determinar se a porta está aberta devido à filtragem ou à informação disponível nas respostas. Compare o método e o caminho e confira a configuração autorizada; não transforme essa indicação em uma conclusão de porta fechada ou de máquina desligada.

Documentação oficial

O guia de referência oficial do Nmap reúne as opções. Para os pontos deste artigo, consulte também estados de portas, descoberta de hosts, detecção de serviços e versões e formatos de saída.