Nmap Cheat Sheet: Comandos Essenciais para Auditoria de Redes
O Nmap (Network Mapper) é a ferramenta de referência para descoberta de redes e auditoria de segurança. Permite identificar hosts activos, portas abertas, serviços em execução, sistemas operativos e vulnerabilidades conhecidas — tudo numa única linha de comandos. Este guia reúne os comandos mais importantes, organizados por categoria, para sysadmins de PME e entusiastas de segurança que precisam de resultados práticos sem ler 800 páginas de manual.
Se trabalhas com redes em Linux, este cheat sheet dá-te a sintaxe exacta para cada cenário — desde um -sn rápido até scans agressivos com -A -T4. Instala com sudo apt install nmap (Debian/Ubuntu) ou sudo dnf install nmap (RHEL/Fedora) e começa por testar na tua própria rede.
⚠ Uso ético e legal: O Nmap é uma ferramenta poderosa. Scans em redes e sistemas sem autorização explícita são ilegais em Portugal (Lei n.º 109/2009 — Cibersegurança) e na maioria dos países. Utiliza o Nmap apenas em redes que controlas, em ambientes de teste, ou onde tens permissão documentada do proprietário. Scans de portas são interpretados por sistemas de detecção de intrusões como actividade hostil — o que pode resultar em bloqueio, queixa-crime ou investigação.
Neste artigo
- 1. Introdução — O que é o Nmap e Para Que Serve
- 2. Quick Start — 3 Comandos para Começar
- 3. Especificar Alvos — IPs, Ranges e Ficheiros
- 4. Técnicas de Scan de Portas
- 5. Descoberta de Hosts (Ping Scan)
- 6. Especificar Portas para Scan
- 7. Detectar Serviços e Versões
- 8. Detectar Sistema Operativo
- 9. Timing e Performance
- 10. NSE Scripts — Exploração e Auditoria
- 11. Evasão de Firewall e IDS
- 12. Output e Gravação de Resultados
- 13. Quando Usar Cada Scan
- 14. Erros Comuns e Soluções
- 15. Checklist de Scan Completo
- 16. Artigos Relacionados
1. Introdução — O que é o Nmap e Para Que Serve
O Nmap é um scanner de redes open-source criado por Gordon “Fyodor” Lyon em 1997. Combina múltiplas técnicas de sondagem para mapear redes inteiras: descobrir quais hosts estão activos, que portas TCP/UDP têm abertas, que versões de serviços nelas correm e que sistemas operativos estão instalados. É a ferramenta padrão da indústria para auditoria de segurança — usada por equipas Blue Team (defesa) e Red Team (penetração) em todo o mundo.
Casos de uso típicos em PMEs:
- Inventário de rede — descobrir todos os dispositivos activos numa subrede corporativa.
- Auditoria de compliance — verificar que apenas portas aprovadas estão abertas em servidores de produção.
- Testes de penetração — identificar serviços desactualizados com vulnerabilidades conhecidas.
- Diagnóstico de conectividade — confirmar que um serviço remoto está acessível na porta esperada.
- Resposta a incidentes — mapear o perímetro de uma rede comprometida durante análise forense.
Para instalar:
# Debian/Ubuntu
sudo apt update && sudo apt install nmap
# RHEL/Fedora/CentOS
sudo dnf install nmap
# Arch Linux
sudo pacman -S nmap
# Verificar instalação
nmap --version
A documentação oficial completa está disponível em nmap.org/book/man.html e a referência da linha de comandos em man7.org (nmap.1).
2. Quick Start — 3 Comandos para Começar
Se só tens 2 minutos, estes três comandos cobrem 80% das necessidades do dia-a-dia:
# 1. Descobrir todos os hosts activos na rede 192.168.1.0/24
nmap -sn 192.168.1.0/24
# 2. Scan rápido das 100 portas mais comuns num host
nmap -F 192.168.1.50
# 3. Detectar serviços, versões e correr scripts predefinidos
nmap -sV -sC 192.168.1.50
| Comando | O que faz | Tempo típico |
|---|---|---|
| nmap -sn 192.168.1.0/24 | Descobre hosts activos sem scan de portas | 5-15 segundos |
| nmap -F 192.168.1.50 | Scaneia as 100 portas mais comuns (fast) | 2-10 segundos |
| nmap -sV -sC 192.168.1.50 | Detecta versões de serviços + scripts NSE predefinidos | 30-120 segundos |
3. Especificar Alvos — IPs, Ranges e Ficheiros
O Nmap aceita uma grande variedade de formatos para especificar alvos. Podes passar IPs individuais, múltiplos IPs separados por espaço, ranges com notação CIDR ou hífen, domínios e listas em ficheiros:
# IP único
nmap 192.168.1.50
# Multiplos IPs
nmap 192.168.1.50 192.168.1.51 192.168.1.52
# Range com hifen
nmap 192.168.1.50-100
# Notacao CIDR (toda a subrede)
nmap 192.168.1.0/24
# Dominio (resolve DNS automaticamente)
nmap exemplo.pt
# Lista de alvos a partir de ficheiro (-iL)
nmap -iL alvos.txt
# Excluir hosts especificos do scan
nmap 192.168.1.0/24 --exclude 192.168.1.1,192.168.1.254
# Excluir a partir de ficheiro
nmap -iL alvos.txt --excludefile excluir.txt
O ficheiro passado a -iL deve conter um alvo por linha — aceita IPs, ranges, CIDR e domínios misturados.
4. Técnicas de Scan de Portas
O Nmap suporta várias técnicas de scan, cada uma com vantagens e desvantagens. A escolha depende de teres ou não privilégios de root, do tipo de firewall no alvo e do nível de stealth necessário:
| Flag | Técnica | Requer root? | Descrição |
|---|---|---|---|
| -sS | SYN scan (default) | Sim | Envia SYN, não completa a conexão. Rápido e stealth. |
| -sT | TCP connect | Não | Usa a system call connect(). Funciona sem root, mais lento. |
| -sU | UDP scan | Sim | Scaneia portas UDP. Lento — UDP não tem handshake. |
| -sA | ACK scan | Sim | Detecta regras de firewall stateful (filtered vs unfiltered). |
| -sW | Window scan | Sim | Variação do ACK que explora anomalias no tamanho da janela TCP. |
| -sM | Maimon scan | Sim | Envia FIN/ACK. Funciona em alguns BSD antigos. |
# SYN scan (default com root)
sudo nmap -sS 192.168.1.50
# TCP connect scan (sem root)
nmap -sT 192.168.1.50
# UDP scan — verificar DNS(53), SNMP(161), etc.
sudo nmap -sU 192.168.1.50
# ACK scan — mapear firewall stateful
sudo nmap -sA 192.168.1.50
Se não especificares nenhuma técnica e fores root, o Nmap usa -sS por defeito. Sem root, usa -sT.
5. Descoberta de Hosts (Ping Scan)
Antes de scanear portas, o Nmap descobre quais hosts estão activos. Podes controlar esta fase com várias flags — desde listar sem scanear até usar técnicas específicas de ping:
| Flag | Comportamento |
|---|---|
| -sL | Lista todos os alvos sem os scanear — útil para verificar ranges. |
| -sn | Ping scan — descobre hosts activos sem scanear portas. |
| -Pn | Salta a descoberta de hosts — assume que todos estão activos. |
| -PS | SYN ping — envia pacotes SYN a portas especificadas (default: 80). |
| -PA | ACK ping — útil quando firewalls bloqueiam SYN. |
| -PR | ARP ping — mais fiável na rede local (Layer 2). |
| -n | Desactiva resolução DNS — mais rápido, sem nomes de host. |
# Descobrir hosts activos numa subrede
nmap -sn 192.168.1.0/24
# Se os firewalls bloqueiam ICMP, forca o scan com -Pn
nmap -Pn 192.168.1.50
# SYN ping na porta 443 (passa firewalls que so deixam HTTPS)
nmap -PS443 192.168.1.0/24
# ARP ping na rede local (Layer 2, mais fiavel)
nmap -PR 192.168.1.0/24
# Sem resolução DNS (mais rapido)
nmap -n -sn 192.168.1.0/24
6. Especificar Portas para Scan
Por defeito, o Nmap scanear as 1000 portas TCP mais comuns. Podes controlar exactamente quais portas com a flag -p:
# Porta unica
nmap -p 22 192.168.1.50
# Range de portas
nmap -p 21-100 192.168.1.50
# Portas especificas (comma-separated)
nmap -p 21,22,80,443,3306 192.168.1.50
# UDP e TCP misturados
nmap -p U:53,T:21-25,80 192.168.1.50
# Todas as 65535 portas TCP
nmap -p- 192.168.1.50
# As N portas mais comuns
nmap --top-ports 100 192.168.1.50
# Fast scan — as 100 portas mais frequentes
nmap -F 192.168.1.50
ℹ Dica: -p- scanear todas as 65535 portas e demora bastante tempo. Usa -F para um primeiro reconhecimento rápido e -p- só para auditorias completas.
7. Detectar Serviços e Versões
Saber que uma porta está aberta não chega — precisas de saber que serviço corre nela e em que versão. O Nmap faz isto com sondagens da base de dados nmap-service-probes:
| Flag | Função |
|---|---|
| -sV | Detecta versão do serviço nas portas abertas. |
| –version-intensity N | Intensidade de 0 (light) a 9 (all). Default: 7. |
| –version-light | Intensidade 2 — mais rápido, menos precisão. |
| –version-all | Intensidade 9 — tenta todas as sondagens. Mais lento. |
| -A | Modo agressivo: detecta versão + OS + scripts predefinidos + traceroute. |
# Detectar versoes de servicos
nmap -sV 192.168.1.50
# Modo agressivo (versao + OS + scripts + traceroute)
nmap -A 192.168.1.50
# Scan de versao leve (rapido)
nmap -sV --version-light 192.168.1.50
# Scan de versao completo (lento, mais preciso)
nmap -sV --version-all 192.168.1.50
A flag -A é o “tudo-em-um” — combina -sV, -O, -sC e traceroute. Ideal para uma auditoria inicial completa.
8. Detectar Sistema Operativo
O Nmap identifica o sistema operativo remoto através de análise de respostas TCP/IP (TCP/IP stack fingerprinting). Compara as respostas do alvo com uma base de dados de mais de 2600 assinaturas conhecidas:
# Detectar OS (requer root)
sudo nmap -O 192.168.1.50
# Limitar scan de OS a alvos promissores (pelo menos 1 porta aberta + 1 fechada)
sudo nmap -O --osscan-limit 192.168.1.50
# Adivinhar OS com mais agressividade (quando ha ambiguidade)
sudo nmap -O --osscan-guess 192.168.1.50
# Limitar tentativas de deteccao de OS
sudo nmap -O --max-os-tries 1 192.168.1.50
# Modo agressivo (inclui deteccao de OS)
sudo nmap -A 192.168.1.50
ℹ Requisito: A detecção de OS precisa de pelo menos uma porta aberta E uma porta fechada no alvo. Se todas as portas estiverem filtradas, o Nmap não consegue determinar o OS.
9. Timing e Performance
O Nmap oferece 6 níveis de timing predefinidos, de T0 (muito lento, stealth máximo) a T5 (muito rápido, pode falhar). A escolha do nível correcto é crucial para equilibrar velocidade, precisão e discretção:
| Nível | Nome | Velocidade | Quando usar |
|---|---|---|---|
| -T0 | Paranoid | Muito lento (5 min entre probes) | IDS evasion — extremamente stealth. |
| -T1 | Sneaky | Lento (15 seg entre probes) | Red Team — passa firewalls sensíveis. |
| -T2 | Polite | Moderado | Redes com recursos limitados. |
| -T3 | Normal | Médio (default) | Uso geral — equilíbrio entre velocidade e precisão. |
| -T4 | Aggressive | Rápido | Redes locais fiáveis — boa escolha default para PME. |
| -T5 | Insane | Muito rápido | Cuidado — pode perder portas abertas por timeout. |
# Timing predefinido (recomendado para redes locais)
nmap -T4 192.168.1.50
# Timeout por host (descarta hosts lentos apos 30s)
nmap --host-timeout 30s 192.168.1.0/24
# Forcar pelo menos 100 pacotes/segundo
nmap --min-rate 100 192.168.1.50
# Limitar a 500 pacotes/segundo (para não saturar a rede)
nmap --max-rate 500 192.168.1.50
# Maximo de retries por porta (default: 10)
nmap --max-retries 2 192.168.1.50
Para a maioria das auditorias em redes PME locais, -T4 é a melhor escolha — rápido o suficiente para ser útil, lento o suficiente para não gerar falsos negativos.
10. NSE Scripts — Exploração e Auditoria
O Nmap Scripting Engine (NSE) transforma o Nmap num framework de auditoria completa. Inclui mais de 600 scripts para detecção de vulnerabilidades, enumeração, brute-force e muito mais. A documentação completa está em nmap.org/nsedoc e a referência técnica em nmap.org/book/nse.html.
# Correr scripts predefinidos (default safe scripts)
nmap -sC 192.168.1.50
# Script especifico — banner grabbing
nmap --script=banner 192.168.1.50
# Todos os scripts HTTP
nmap --script=http* 192.168.1.50
# Script com argumentos
nmap --script=http-sitemap-generator --script-args http-sitemap-generator.url=/ 192.168.1.50
# DNS brute-force de subdominios
nmap --script=dns-brute --script-args dns-brute.domain=exemplo.pt 192.168.1.50
# Enumerar shares SMB
nmap --script=smb-enum-shares 192.168.1.50
# Detectar SQL injection
nmap --script=http-sql-injection 192.168.1.50
# Multiplos scripts em conjunto
nmap --script=http-title,banner,smb-os-discovery 192.168.1.50
ℹ Categorias NSE: Os scripts estão organizados em categorias: auth (autenticação), brute (brute-force), default (seguros por defeito), exploit (exploração), fuzzer (fuzzing), malware (detecção), safe (não destrutivos), vuln (vulnerabilidades). Usa --script "categoria" para correr todos os de uma categoria.
11. Evasão de Firewall e IDS
O Nmap inclui técnicas para contornar firewalls e sistemas de detecção de intrusões. Estas técnicas são úteis em auditorias autorizadas para testar a eficácia das defesas perimeter:
| Flag | Técnica |
|---|---|
| -f | Fragmenta pacotes em 8 bytes — dificulta detecção por IDS. |
| -mtu N | Especifica MTU personalizada para fragmentação (múltiplo de 8). |
| -D IP1,IP2,ME | Decoys — envia scans de IPs falsos para ocultar a origem real. |
| -S IP | Spoof do IP de origem (requer privilégios de rede raw). |
| -g PORT | Especifica porta de origem (ex: 53 para parecer tráfego DNS). |
| –data-length N | Adiciona N bytes aleatórios aos pacotes para evitar assinaturas. |
# Fragmentar pacotes (evasao basica)
nmap -f 192.168.1.50
# MTU personalizada
nmap -mtu 24 192.168.1.50
# Decoys — ME marca a tua posicao real
nmap -D 10.0.0.1,10.0.0.5,ME,10.0.0.10 192.168.1.50
# Decoys aleatorios
nmap -D RND:10 192.168.1.50
# Porta de origem 53 (DNS) — passa firewalls que permitem DNS
nmap -g 53 192.168.1.50
# Adicionar 64 bytes aleatorios aos pacotes
nmap --data-length 64 192.168.1.50
# Combinacao completa para Red Team (stealth maximo)
nmap -sS -T0 -f --data-length 64 --scan-delay 10s 192.168.1.50
⚠ Atenção: Técnicas de evasão como decoys (-D) e spoof (-S) podem interferir com outros sistemas na rede e gerar alertas em SIEMs corporativos. Usa apenas em redes autorizadas. Spoof de IP de origem faz com que as respostas vão para o IP falsificado, não para ti — o scan não te dá resultados directamente.
12. Output e Gravação de Resultados
Gravar os resultados é essencial para auditorias — precisas de comparar scans ao longo do tempo e gerar relatórios. O Nmap suporta três formatos de output:
| Flag | Formato | Vantagem |
|---|---|---|
| -oN ficheiro | Normal (legível por humanos) | Output em texto, fácil de ler. |
| -oX ficheiro | XML | Importável por ferramentas (Nessus, Splunk). |
| -oG ficheiro | Greppable | Uma linha por host — processável com grep/awk. |
| -oA prefixo | Todos os formatos | Gera .nmap, .xml e .gnmap em simultâneo. |
# Gravar em todos os formatos (recomendado)
nmap -oA auditoria-2026 192.168.1.0/24
# Output verboso (mostra progresso em tempo real)
nmap -v 192.168.1.50
# Modo debug (para troubleshooting)
nmap -d 192.168.1.50
# Mostrar motivo de cada resultado (porque aberta/fechada)
nmap --reason 192.168.1.50
# Mostrar apenas portas abertas (omite filtered e closed)
nmap --open 192.168.1.0/24
# Retomar um scan interrompido
nmap --resume auditoria-2026.nmap
-oA é a melhor prática — gera os três formatos com um único comando. Usa --resume com o ficheiro .nmap para retomar scans grandes que foram interrompidos.
13. Quando Usar Cada Scan
A escolha do tipo de scan e timing depende do cenário. Esta tabela resume as combinações mais usadas:
| Cenário | Comando | Porquê |
|---|---|---|
| Stealth (não detectável) | -sS -T2 | SYN scan não completa conexão; T2 é lento o suficiente para não gerar alertas. |
| Sem privilégios root | -sT | TCP connect funciona sem raw sockets; mais lento mas fiável. |
| Firewall stateful | -sA | ACK scan identifica portas filtered vs unfiltered. |
| Serviços UDP (DNS, SNMP) | -sU -p 53,161,123 | UDP scan nas portas mais comuns — UDP é lento, limita portas. |
| Red Team (máximo stealth) | -sS -T0 -f –data-length 64 –scan-delay 10s | Fragmentação + dados aleatórios + delay de 10s — muito difícil de detectar. |
| Auditoria completa (PME) | -A -T4 | Modo agressivo + timing rápido — versões + OS + scripts numa passada. |
14. Erros Comuns e Soluções
Estes são os problemas mais frequentes ao usar o Nmap e como os resolver:
| Erro / Sintoma | Causa | Solução |
|---|---|---|
| “Note: Host seems down” | Firewall bloqueia ICMP/ping — o Nmap assume que o host está inactivo. | Usa -Pn para saltar a descoberta de hosts. |
| “Ping scan failed” | ICMP bloqueado pelo firewall do alvo. | -Pn ou usa SYN ping -PS80. |
| “requires root privileges” | -sS, -O, -sU precisam de raw sockets. |
Usa sudo nmap ou muda para -sT. |
| Scan demasiado lento | Timing default (T3) é conservador; UDP é inerentemente lento. | Usa -T4 para TCP; limita portas UDP com -p. |
| Porta aberta sem serviço identificado | Scan default não detecta versões. | Adiciona -sV para detectar versão do serviço. |
| UDP scan não termina | UDP sem resposta é interpretado como open|filtered — o Nmap faz retries. | Normal. Limita portas com -p U:53,161,123 e usa --host-timeout. |
15. Checklist de Scan Completo
Para uma auditoria de redes completa, segue estes passos por ordem — cada um constrói sobre o anterior:
# Passo 1: Descobrir hosts activos na rede
nmap -sn -n 192.168.1.0/24 -oA passo1-descoberta
# Passo 2: Scan rapido das 100 portas mais comuns em todos os hosts
nmap -F -T4 -n -iL passo1-descoberta.gnmap -oA passo2-fast
# Passo 3: Detectar servicos e versoes nos hosts encontrados
nmap -sV -sC -T4 -p- --open 192.168.1.50 -oA passo3-servicos
# Passo 4: Detectar sistema operativo
sudo nmap -O --osscan-limit -T4 192.168.1.50 -oA passo4-os
# Passo 5: Correr scripts NSE especificos (ex: HTTP, SMB)
nmap --script=http-enum,smb-enum-shares,vulners -p 80,443,445 192.168.1.50
# Passo 6: Gravar tudo para relatório final
nmap -A -T4 -oA auditoria-completa 192.168.1.50
- Descobrir hosts —
nmap -sn 192.168.1.0/24para identificar todos os dispositivos activos. - Scan rápido —
nmap -F -T4nas 100 portas mais comuns para uma primeira impressão. - Detectar serviços —
nmap -sV -sCpara versões e scripts predefinidos nos hosts encontrados. - Detectar OS —
sudo nmap -Opara identificar sistemas operativos. - Scripts específicos —
--script=http-enum,smb-enum-sharespara auditoria dirigida a serviços encontrados. - Guardar output —
-oA auditoriaem todos os passos para comparação futura.
16. Artigos Relacionados
- Dia 9: Firewalls Linux — iptables, nftables, UFW e firewalld — complementa o Nmap com configuração de firewalls que resistem aos scans descritos neste guia.
- Dia 8: Redes Linux — ip, ss, nmcli e DNS — fundamentos de rede que precedem qualquer auditoria com Nmap.
- Linux Server Hardening Checklist 2026 — aplica os resultados do Nmap para endurecer servidores.
- ACR Stealer e Infostealers: Detetar, Prevenir e Responder — como o Nmap ajuda a mapear a superfície de ataque de infostealers.
- DKIM, DMARC e SPF: Autenticação de Email para PME — auditoria de serviços de email expostos começa com Nmap.