O Nmap é a ferramenta de mapeamento de rede mais usada do mundo e continua a ser o primeiro instrumento que qualquer profissional de segurança abre quando precisa de saber o que existe numa rede. Em poucos segundos descobre máquinas ativas, portas abertas, serviços a correr e até o sistema operativo do alvo. Este tutorial leva-o do zero a uma auditoria completa da sua própria rede em 12 passos, com cerca de 30 minutos de trabalho prático.
A versão estável atual é o Nmap 7.99, lançada a 26 de março de 2026, no seguimento das versões 7.96 (1 de maio de 2025), 7.97 (12 de maio de 2025) e 7.98 (21 de agosto de 2025). Todos os comandos deste guia foram pensados para esta família 7.9x e funcionam em Windows, Linux e macOS. O Nmap é mantido por Gordon Lyon, conhecido pelo pseudónimo Fyodor, e distribuído sob a licença NPSL (Nmap Public Source License).
Aviso importante antes de começar: só deve usar o Nmap em redes e sistemas que lhe pertencem ou para os quais tem autorização escrita. Fazer scans a infraestruturas alheias pode constituir crime informático em Portugal e na restante União Europeia. Ao longo deste tutorial trabalhamos sempre sobre a sua rede doméstica e sobre o host oficial de testes scanme.nmap.org, disponibilizado pelo projeto Nmap exatamente para este efeito.
O que é o Nmap e porque continua essencial em 2026
Nmap significa Network Mapper. É um scanner de código aberto que envia pacotes cuidadosamente construídos para um ou mais alvos e interpreta as respostas para deduzir o estado da rede. A partir dessas respostas, consegue dizer-lhe quais os computadores que estão ligados, que portas TCP e UDP têm abertas, que software responde em cada porta, qual a versão desse software e, em muitos casos, qual o sistema operativo da máquina.
Apesar de existir há mais de duas décadas, o Nmap não perdeu relevância. Em 2026 continua a ser a base do reconhecimento em testes de intrusão, da gestão de inventário de ativos e da deteção de serviços expostos por engano. Equipas de defesa usam-no para encontrar portas abertas antes que um atacante o faça, e auditores usam-no para validar que uma firewall faz aquilo que a documentação diz que faz. Segundo o relatório DBIR 2026, a exploração de vulnerabilidades já representa 31% das fugas de dados, e muitas dessas falhas vivem precisamente em serviços expostos que um scan de Nmap teria revelado.
O ecossistema do Nmap inclui várias ferramentas que se instalam em conjunto. O Ncat é um canivete suíço para ler e escrever dados através de ligações de rede. O Nping gera pacotes para testes de resposta e medição de latência. O Ndiff compara dois resultados de scan para detetar alterações ao longo do tempo. E o Zenmap é a interface gráfica oficial, que a partir do Nmap 7.99 passou a ser distribuída como pacote universal em Python (wheel). Tudo isto vem da mesma instalação, o que torna o Nmap muito mais do que um simples scanner de portas.
O coração da flexibilidade do Nmap é o NSE (Nmap Scripting Engine), um motor que corre scripts em linguagem Lua para automatizar tarefas que vão muito além da descoberta de portas: deteção de vulnerabilidades, força bruta de credenciais, recolha de informação e muito mais. São centenas de scripts organizados em 14 categorias, e é essa extensibilidade que mantém a ferramenta atual ano após ano.
Pré-requisitos e versões necessárias
Antes de começar, confirme que reúne as condições abaixo. O Nmap é leve e corre em praticamente qualquer máquina moderna, mas algumas funcionalidades exigem privilégios elevados e bibliotecas específicas.
- Nmap 7.99 (ou a versão estável mais recente disponível em nmap.org). Versões anteriores à 7.9x funcionam, mas alguns scripts NSE deste guia podem não existir.
- Sistema operativo: Windows 10/11, qualquer distribuição Linux com kernel recente (Ubuntu 24.04 LTS, Debian 12, Fedora 41 ou superior), ou macOS 13 Ventura e posterior.
- Npcap no Windows: a biblioteca de captura de pacotes incluída no instalador oficial. Sem ela, os scans em modo raw não funcionam.
- Privilégios de administrador ou root: necessários para scans SYN (
-sS), deteção de sistema operativo (-O) e scans UDP completos. - Acesso a uma rede de teste própria: a sua rede doméstica chega perfeitamente. Tenha à mão o intervalo de IP do seu router (algo como 192.168.1.0/24).
- Autorização: confirme que tem direito a fazer scan ao alvo. Em caso de dúvida, use apenas o seu próprio equipamento e o
scanme.nmap.org.
Tempo estimado total: cerca de 30 minutos para os 12 passos, mais algum tempo extra se quiser explorar a secção de dicas avançadas e o motor NSE em detalhe.
Passo 1: Instalar o Nmap no Windows, Linux e macOS
A instalação varia consoante o sistema operativo, mas em todos os casos demora menos de cinco minutos. Escolha o bloco correspondente ao seu ambiente.
Windows
Descarregue o instalador .exe da página oficial de transferências e execute-o com privilégios de administrador. Aceite a instalação do Npcap quando for solicitado, pois é obrigatório para os scans raw. Em alternativa, se usar o gestor de pacotes Winget, basta um comando.
# Instalar via Winget (PowerShell como administrador)
winget install Insecure.Nmap
# Verificar que o executavel esta no PATH
nmap --version
Linux (Debian, Ubuntu, Fedora, Arch)
# Debian / Ubuntu
sudo apt update
sudo apt install nmap -y
# Fedora
sudo dnf install nmap -y
# Arch Linux
sudo pacman -S nmap
Se o repositório da sua distribuição ainda tiver uma versão antiga, pode compilar a partir do código-fonte para obter o Nmap 7.99 mais recente. O processo demora alguns minutos numa máquina típica.
# Compilar a partir do codigo-fonte (versao mais recente)
curl -O https://nmap.org/dist/nmap-7.99.tar.bz2
bzip2 -cd nmap-7.99.tar.bz2 | tar xvf -
cd nmap-7.99
./configure
make
sudo make install
macOS
# Via Homebrew (recomendado)
brew install nmap
# Confirmar a versao instalada
nmap --version
Passo 2: Confirmar a instalação e a versão
Antes de fazer qualquer scan, confirme que o Nmap está instalado e reconhece as bibliotecas necessárias. O comando nmap --version mostra a versão do binário, a versão do Npcap (no Windows) ou da libpcap (em Linux/macOS) e as bibliotecas de compressão e criptografia compiladas.
nmap --version
Deverá obter uma saída semelhante a esta:
Nmap version 7.99 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.4.6 openssl-3.0.13 libssh2-1.11.0 libz-1.3 libpcre2-10.42 nmap-libpcap nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select
Repare nas bibliotecas listadas em “Compiled with”. A presença de openssl garante que a deteção de serviços TLS funciona, e liblua é o que torna o NSE possível. Se o comando não for reconhecido, o executável não está no PATH do sistema. No Windows, feche e reabra o terminal após a instalação; em Linux, confirme que /usr/bin/nmap ou /usr/local/bin/nmap existe.
Passo 3: O primeiro scan a um host único
O scan mais simples possível é passar um único alvo ao Nmap, sem qualquer opção. Por defeito, o Nmap faz um scan das 1000 portas TCP mais comuns e mostra quais estão abertas. Vamos usar o host de testes oficial do projeto, que está autorizado para scans públicos.
nmap scanme.nmap.org
A saída típica tem este aspeto:
Starting Nmap 7.99 ( https://nmap.org ) at 2026-06-16 10:14 WEST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.18s latency).
Not shown: 996 closed tcp ports (conn-refused)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
9929/tcp open nping-echo
31337/tcp open Elite
Nmap done: 1 IP address (1 host up) in 1.42 seconds
Vamos ler esta saída com atenção, porque a estrutura repete-se em todos os scans. “Host is up” indica que o alvo respondeu. A coluna STATE tem três valores principais: open (existe um serviço a aceitar ligações), closed (a porta responde mas não há serviço) e filtered (uma firewall está a bloquear os pacotes, pelo que o Nmap não consegue determinar o estado). A coluna SERVICE mostra o nome provável do serviço com base na porta, ainda sem confirmação da versão real.
Passo 4: Descobrir hosts ativos numa rede (ping sweep)
Antes de fazer scan a portas, muitas vezes só queremos saber que máquinas existem numa rede. Para isso usa-se o ping sweep com a opção -sn, que faz descoberta de hosts sem fazer scan de portas. É rápido, discreto e ideal para inventariar a sua rede doméstica.
# Descobrir todos os hosts ativos na rede local
nmap -sn 192.168.1.0/24
O sufixo /24 é notação CIDR e significa que o Nmap vai testar os 254 endereços possíveis de 192.168.1.1 a 192.168.1.254. O resultado lista cada host que respondeu, com o respetivo endereço MAC e fabricante da placa de rede quando disponível.
Nmap scan report for router.home (192.168.1.1)
Host is up (0.0021s latency).
MAC Address: A4:2B:B0:11:22:33 (TP-Link)
Nmap scan report for nas.home (192.168.1.20)
Host is up (0.012s latency).
MAC Address: 00:11:32:AA:BB:CC (Synology)
Nmap scan report for laptop.home (192.168.1.45)
Host is up.
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.81 seconds
Descobrir o seu próprio intervalo de rede é simples. No Windows execute ipconfig, em Linux ip addr e em macOS ifconfig. O seu endereço será algo como 192.168.1.45, o que indica a sub-rede 192.168.1.0/24. Pode também usar uma lista de alvos separados por vírgula ou um ficheiro de texto com a opção -iL alvos.txt.
Passo 5: Scan de portas TCP SYN com o Nmap
O scan SYN, ativado com -sS, é o tipo de scan por defeito quando se corre o Nmap com privilégios de root ou administrador. Chama-se também “half-open scan” porque nunca completa o aperto de mão TCP de três vias: envia um pacote SYN, recebe a resposta e responde com um RST em vez de ACK. Isto torna-o rápido e relativamente discreto, já que muitos sistemas antigos não registavam estas ligações incompletas.
# Scan SYN as portas mais comuns (requer root/admin)
sudo nmap -sS scanme.nmap.org
# Fazer scan a todas as 65535 portas TCP
sudo nmap -sS -p- scanme.nmap.org
# Fazer scan apenas a portas especificas
sudo nmap -sS -p 22,80,443,8080 192.168.1.20
Se não tiver privilégios elevados, o Nmap recorre automaticamente ao scan TCP connect (-sT), que completa o aperto de mão completo usando a pilha de rede do sistema operativo. É mais lento e mais facilmente registado, mas não exige permissões especiais. A opção -p- faz scan às 65535 portas em vez das 1000 por defeito, o que é mais completo mas demora consideravelmente mais.
Uma boa prática é começar com as portas por defeito e só alargar para -p- quando precisa de confirmar que não há serviços escondidos em portas altas. Para acelerar um scan completo, combine -p- com a opção --min-rate, que define um número mínimo de pacotes por segundo.
Passo 6: Deteção de serviços e versões com -sV
Saber que a porta 80 está aberta é útil, mas saber que está a correr o Apache 2.4.58 ou o nginx 1.26 é muito mais valioso. A deteção de versões, ativada com -sV, interroga cada porta aberta e compara as respostas com uma base de dados de assinaturas para identificar o software exato e a sua versão.
# Detecao de versoes de servicos
nmap -sV scanme.nmap.org
# Aumentar a intensidade da detecao (0 a 9; padrao e 7)
nmap -sV --version-intensity 9 192.168.1.20
A saída acrescenta uma coluna VERSION com o detalhe identificado:
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.58 ((Ubuntu))
9929/tcp open nping-echo Nping echo
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Esta informação é o ponto de partida da gestão de vulnerabilidades. Conhecendo a versão exata de cada serviço, pode cruzá-la com bases de dados de vulnerabilidades como a EUVD da União Europeia e descobrir se algum serviço exposto tem falhas conhecidas. A intensidade da deteção (--version-intensity) controla quantas sondas o Nmap envia: valores mais altos são mais precisos mas mais lentos e ruidosos.
Passo 7: Deteção de sistema operativo com -O
O Nmap consegue adivinhar o sistema operativo de um alvo através de fingerprinting da pilha TCP/IP. Cada sistema operativo responde a pacotes anómalos de forma ligeiramente diferente, e o Nmap compara essas peculiaridades com uma base de dados de mais de mil assinaturas conhecidas. A deteção de SO ativa-se com -O e exige privilégios de root.
# Detecao de sistema operativo
sudo nmap -O 192.168.1.20
# Combinar detecao de SO com versoes e scripts: scan agressivo
sudo nmap -A scanme.nmap.org
A opção -A é um atalho que ativa em simultâneo a deteção de SO (-O), a deteção de versões (-sV), os scripts NSE da categoria padrão (-sC) e o traceroute. É o comando mais completo para uma única máquina, mas também o mais ruidoso e o mais fácil de detetar por um sistema de deteção de intrusão.
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5
OS details: Linux 5.0 - 5.14
Network Distance: 12 hops
Tenha presente que a deteção de SO é um palpite probabilístico, não uma certeza. Firewalls, sistemas de NAT e configurações personalizadas podem enganar o algoritmo. O Nmap indica sempre o grau de confiança e, quando não tem certeza, apresenta vários candidatos com percentagens.
Passo 8: Scan de portas UDP
A maioria dos tutoriais foca-se em TCP, mas muitos serviços críticos correm sobre UDP: DNS (porta 53), DHCP (67/68), SNMP (161) e NTP (123), entre outros. O scan UDP ativa-se com -sU e é notoriamente lento, porque o UDP não tem aperto de mão e o Nmap tem de esperar por timeouts para distinguir portas abertas de filtradas.
# Scan UDP as portas mais comuns
sudo nmap -sU --top-ports 20 192.168.1.1
# Combinar TCP SYN e UDP no mesmo scan
sudo nmap -sS -sU -p T:22,80,443,U:53,161 192.168.1.1
A opção --top-ports 20 limita o scan às 20 portas UDP mais frequentes, o que reduz drasticamente o tempo de execução. Para combinar protocolos no mesmo comando, use o prefixo T: para portas TCP e U: para portas UDP na lista de -p. Devido à lentidão do UDP, raramente vale a pena fazer scan às 65535 portas UDP, exceto numa auditoria muito específica.
Passo 9: Ajustar a velocidade com templates de tempo
O Nmap oferece seis templates de tempo, de -T0 a -T5, que ajustam automaticamente dezenas de parâmetros internos de temporização. Permitem trocar velocidade por discrição, conforme o contexto. Os mais lentos evitam acionar alarmes e sobrecarregar redes frágeis; os mais rápidos são ideais para redes locais robustas onde a velocidade é prioritária.
| Template | Nome | Quando usar |
|---|---|---|
-T0 | Paranoid | Evitar deteção por IDS; extremamente lento (uma porta de cada vez, com longas pausas). |
-T1 | Sneaky | Quase indetetável; usado em testes furtivos. |
-T2 | Polite | Reduz a carga na rede e no alvo; útil em sistemas frágeis. |
-T3 | Normal | Padrão por defeito; equilíbrio entre velocidade e fiabilidade. |
-T4 | Aggressive | Rápido; recomendado para redes locais modernas e fiáveis. |
-T5 | Insane | Velocidade máxima; pode perder resultados em redes com latência. |
# Scan rapido e equilibrado numa rede local
sudo nmap -sS -T4 192.168.1.0/24
# Scan furtivo e lento contra um alvo monitorizado
sudo nmap -sS -T1 192.168.1.20
Na prática, -T4 é o template mais usado em redes internas de confiança, oferecendo velocidade sem perder fiabilidade. Reserve -T0 e -T1 para situações em que evitar a deteção é mais importante do que obter resultados rápidos. Para um controlo ainda mais fino, pode definir manualmente parâmetros como --min-rate, --max-rate e --max-retries.
Passo 10: Usar o Nmap Scripting Engine (NSE)
O NSE é o que transforma o Nmap de scanner de portas em plataforma de auditoria de segurança. São centenas de scripts escritos em Lua, organizados em 14 categorias, capazes de detetar vulnerabilidades, recolher informação detalhada e até testar credenciais por força bruta. Os scripts vivem na pasta de scripts da instalação (algo como /usr/share/nmap/scripts/ em Linux).
| Categoria NSE | Função |
|---|---|
default | Scripts seguros e úteis, executados com a opção -sC ou -A. |
discovery | Recolhem mais informação sobre a rede e os serviços. |
safe | Não devem causar danos nem sobrecarregar o alvo. |
intrusive | Podem perturbar o alvo; usar com cuidado e autorização. |
vuln | Testam vulnerabilidades específicas conhecidas. |
exploit | Tentam explorar ativamente uma vulnerabilidade. |
brute | Força bruta de credenciais em serviços de autenticação. |
malware | Detetam sinais de backdoors e infeções. |
# Executar os scripts da categoria padrao
nmap -sC scanme.nmap.org
# Executar um script especifico (banner de servicos)
nmap --script banner scanme.nmap.org
# Procurar vulnerabilidades conhecidas
sudo nmap --script vuln 192.168.1.20
# Executar uma categoria inteira de scripts
nmap --script "discovery and safe" 192.168.1.0/24
# Atualizar a base de dados de scripts apos instalar novos
sudo nmap --script-updatedb
Repare na sintaxe --script "discovery and safe": o NSE aceita expressões booleanas para combinar categorias e nomes. Pode usar and, or e not para construir seleções precisas. Para passar argumentos a um script, use --script-args. A documentação oficial do NSE lista todos os scripts disponíveis e os argumentos que cada um aceita.
Atenção redobrada com as categorias exploit, intrusive e brute: podem causar interrupções de serviço, bloquear contas ou deixar o alvo instável. Nunca as execute sem autorização explícita e sem compreender o que cada script faz.
Passo 11: Guardar e exportar os resultados
Uma auditoria só tem valor se ficar documentada. O Nmap oferece quatro formatos de saída, controlados por opções específicas. O mais útil para automação é o XML, que pode ser processado por ferramentas externas; o mais legível é o formato normal; e o “grepable” facilita filtros rápidos na linha de comandos.
# Guardar em formato normal (legivel por humanos)
nmap -sV scanme.nmap.org -oN resultado.txt
# Guardar em formato XML (para processamento)
nmap -sV scanme.nmap.org -oX resultado.xml
# Guardar em formato grepable (para filtros rapidos)
nmap -sV scanme.nmap.org -oG resultado.gnmap
# Guardar nos tres formatos de uma so vez
nmap -sV scanme.nmap.org -oA auditoria_completa
A opção -oA (de “all”) é a mais prática: gera os três ficheiros com a mesma base de nome, neste caso auditoria_completa.nmap, auditoria_completa.xml e auditoria_completa.gnmap. Para comparar dois scans feitos em momentos diferentes e detetar novas portas abertas ou serviços alterados, use a ferramenta Ndiff sobre dois ficheiros XML.
# Comparar dois scans para detetar alteracoes
ndiff scan_antigo.xml scan_novo.xml
Esta abordagem é a base de uma monitorização contínua: agende um scan periódico, guarde sempre em XML e compare com o anterior. Qualquer porta nova que apareça merece investigação imediata, pois pode indicar um serviço instalado sem autorização ou uma máquina comprometida.
Passo 12: Projeto completo, auditar a sua própria rede
Vamos juntar tudo num projeto prático e realista: uma auditoria completa da sua rede doméstica em quatro fases. O objetivo é construir um inventário de ativos, identificar serviços expostos e gerar um relatório que pode rever periodicamente. Substitua 192.168.1.0/24 pelo intervalo real da sua rede.
# Fase 1: descobrir todos os hosts ativos
sudo nmap -sn 192.168.1.0/24 -oN fase1_hosts.txt
# Fase 2: scan completo de portas TCP aos hosts ativos
sudo nmap -sS -p- -T4 192.168.1.0/24 -oA fase2_portas
# Fase 3: detecao de versoes e SO nos hosts com portas abertas
sudo nmap -sS -sV -O -T4 192.168.1.20 192.168.1.45 -oA fase3_servicos
# Fase 4: scripts NSE de descoberta e detecao de vulnerabilidades
sudo nmap -sV --script "default and safe and vuln" 192.168.1.20 -oA fase4_vuln
Depois de correr as quatro fases, tem um retrato completo da rede. Reveja a saída da fase 3 e pergunte-se, para cada serviço aberto: este serviço precisa mesmo de estar exposto? A versão está atualizada? Está protegido por palavra-passe forte? Muitos problemas de segurança domésticos resumem-se a uma câmara IP, um NAS ou uma impressora com a interface de administração aberta e credenciais por defeito.
Para serviços de administração remota que descubra abertos, como SSH, vale a pena reforçar a autenticação. O nosso guia de autenticação SSH com chaves Ed25519 mostra como substituir palavras-passe por chaves criptográficas. E se quiser inspecionar ao detalhe o tráfego de qualquer serviço que o Nmap revele, o Wireshark é o complemento natural para análise de pacotes.
Tabela de referência das principais flags do Nmap
Guarde esta tabela como folha de consulta rápida. Reúne as opções que vai usar em 90% dos scans do dia a dia.
| Flag | Função | Exemplo |
|---|---|---|
-sS | Scan SYN (half-open), padrão com root | nmap -sS alvo |
-sT | Scan TCP connect (sem privilégios) | nmap -sT alvo |
-sU | Scan de portas UDP | nmap -sU alvo |
-sV | Deteção de versões de serviços | nmap -sV alvo |
-O | Deteção de sistema operativo | nmap -O alvo |
-A | Scan agressivo (SO + versões + scripts + traceroute) | nmap -A alvo |
-sn | Ping sweep (só descoberta de hosts) | nmap -sn rede/24 |
-p- | Scan a todas as 65535 portas | nmap -p- alvo |
-sC | Scripts NSE da categoria padrão | nmap -sC alvo |
-T4 | Template de tempo agressivo | nmap -T4 alvo |
-oA | Guardar nos três formatos | nmap -oA nome alvo |
-Pn | Ignorar descoberta de hosts (tratar como ativo) | nmap -Pn alvo |
Cinco erros comuns ao usar o Nmap (e como evitá-los)
Mesmo utilizadores experientes caem nestas armadilhas. Conhecê-las à partida poupa-lhe horas de frustração e resultados enganadores.
- Esquecer os privilégios de root. Sem
sudo, o Nmap recorre silenciosamente ao scan TCP connect e desativa a deteção de SO e os scans raw. Se os resultados parecerem incompletos, confirme que está a correr com privilégios elevados. - Confiar em
filteredcomo se fosseclosed. Uma porta filtrada não está fechada: significa apenas que uma firewall bloqueou a sonda. Para confirmar, tente-Pne ajuste o tipo de scan. - Fazer scan a uma rede inteira com
-p-e-Aà partida. Combinar scan de todas as portas com deteção agressiva em /24 pode demorar horas. Comece pequeno e alargue só onde for preciso. - Ignorar o UDP. Muitos serviços críticos vivem em UDP. Limitar-se a TCP deixa pontos cegos importantes, como DNS e SNMP mal configurados.
- Não documentar. Fazer scans sem
-oAsignifica perder o histórico. Sem registo não há comparação, e sem comparação não se deteta o que mudou na rede.
Resolução de problemas frequentes
Quando um scan não corre como esperado, esta lista cobre os oito problemas mais comuns e as respetivas soluções.
- “You requested a scan type which requires root privileges”. Está a tentar um scan SYN ou de SO sem privilégios. Adicione
sudo(Linux/macOS) ou abra o terminal como administrador (Windows). - Todos os hosts aparecem como “down”. A descoberta de hosts foi bloqueada por uma firewall que ignora pings. Use
-Pnpara forçar o Nmap a tratar os alvos como ativos e fazer scan na mesma. - “dnet: Failed to open device eth0” no Windows. O Npcap não está instalado ou está corrompido. Reinstale o Nmap a partir do instalador oficial e aceite a instalação do Npcap.
- O scan está extremamente lento. Provavelmente está a fazer scan UDP ou a usar
-T0/-T1. Use-T4em redes locais e limite as portas com--top-ports. - “Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn”. Exatamente como sugere a mensagem: acrescente
-Pnpara ignorar a fase de descoberta. - A deteção de versões não identifica um serviço. Aumente a intensidade com
--version-intensity 9ou execute--script bannerpara obter o banner em bruto. - Scripts NSE não encontrados. A base de dados de scripts está desatualizada. Execute
sudo nmap --script-updatedbpara a reconstruir. - O scan trava ou é interrompido a meio. Pode estar a ser bloqueado por um IDS ou pela operadora. Reduza a velocidade com
-T2, divida a rede em blocos mais pequenos e confirme que tem autorização para o scan.
Dicas avançadas para tirar o máximo do Nmap
Quando dominar o básico, estas técnicas elevam as suas auditorias a outro nível. Todas pressupõem autorização para o alvo.
- Acelerar scans grandes. Combine
--min-rate 1000com-T4para forçar um ritmo mínimo de mil pacotes por segundo em redes locais robustas. Cuidado: ritmos altos podem saturar redes frágeis. - Evitar deteção com fragmentação. A opção
-ffragmenta os pacotes para dificultar a análise por alguns sistemas de deteção mais antigos. - Usar iscas (decoys). Com
-D RND:5, o Nmap mistura o seu IP com cinco endereços falsos, dificultando a identificação da verdadeira origem do scan num exercício autorizado. - Scan de saída para mapear firewalls. Compare resultados com e sem
-Pne com diferentes portas de origem (--source-port 53) para perceber que regras a firewall aplica. - Automatizar com XML e Ndiff. Crie uma tarefa agendada que corre
nmap -oAdiariamente e usandiffpara alertar sobre qualquer alteração na superfície de ataque. - Combinar com IPv6. Acrescente
-6para fazer scan a alvos IPv6, cada vez mais comuns e muitas vezes esquecidos nas auditorias.
Para integrar o Nmap em fluxos de trabalho maiores, lembre-se de que o ecossistema inclui o Ncat para transferência de dados e túneis, o Nping para geração de pacotes personalizados e o Zenmap para quem prefere uma interface gráfica com visualização da topologia de rede. A referência completa de todas as opções está no manual oficial do Nmap.
Nmap vs Masscan vs RustScan: qual escolher
O Nmap não está sozinho no mercado dos scanners de portas. Nos últimos anos surgiram alternativas focadas em velocidade pura, como o Masscan e o RustScan. Cada uma tem o seu lugar, e os profissionais experientes combinam-nas em vez de escolher apenas uma. A tabela abaixo resume as diferenças práticas para o ajudar a decidir.
| Ferramenta | Pontos fortes | Limitações | Melhor para |
|---|---|---|---|
| Nmap | Deteção de versões, NSE, deteção de SO, maturidade | Mais lento em scans massivos de internet | Auditorias completas e detalhadas |
| Masscan | Velocidade extrema (milhões de pacotes por segundo) | Sem deteção de versões nem scripts | Scan rápido de grandes intervalos de IP |
| RustScan | Muito rápido a encontrar portas; integra-se com o Nmap | Depende do Nmap para análise profunda | Descoberta rápida antes do Nmap aprofundar |
| Zenmap | Interface gráfica, visualização de topologia | Menos prático para automação | Iniciantes e relatórios visuais |
Uma estratégia comum em redes muito grandes é usar o Masscan ou o RustScan para encontrar rapidamente que portas estão abertas e depois passar essa lista ao Nmap para fazer a deteção de versões, a identificação de SO e os scripts NSE apenas nas portas que interessam. Assim combina a velocidade de um com a profundidade do outro. Para a esmagadora maioria dos casos domésticos e de pequenas e médias empresas, no entanto, o Nmap sozinho chega e sobra.
Vale a pena sublinhar que nenhuma destas ferramentas substitui a interpretação humana. Um scanner diz-lhe o que está aberto; cabe-lhe a si decidir se isso representa um risco. Uma porta 3389 (RDP) aberta para a internet, por exemplo, é quase sempre um problema grave, independentemente de qual scanner a tenha encontrado.
Integrar o Nmap num fluxo de auditoria contínua
Fazer um scan único é útil, mas a verdadeira força do Nmap aparece quando o integra numa rotina. As superfícies de ataque mudam constantemente: instala-se um serviço novo, abre-se uma porta para um teste e esquece-se de a fechar, atualiza-se um software e muda a versão. Uma auditoria periódica deteta estas mudanças antes que se tornem um problema.
Em Linux, pode agendar um scan semanal com o cron e guardar sempre a saída em XML, datada, para comparação posterior com o Ndiff. O exemplo abaixo cria uma tarefa que corre todos os domingos às 3 da manhã e guarda o resultado num ficheiro com a data.
# Editar o crontab
crontab -e
# Adicionar esta linha (scan semanal, domingo as 3h)
0 3 * * 0 /usr/bin/nmap -sS -sV 192.168.1.0/24 -oX /var/log/nmap/scan-$(date +\%Y\%m\%d).xml
Com um histórico de ficheiros XML, comparar dois scans consecutivos torna-se trivial e revela imediatamente qualquer alteração na rede. Esta disciplina de monitorização contínua é o que separa uma equipa de segurança reativa de uma proativa. Combinada com a correção atempada de serviços vulneráveis e com boas práticas de configuração, como as descritas no nosso guia de HTTPS no Nginx com Let’s Encrypt, transforma o Nmap numa peça central da sua defesa.
Para organizações maiores, existem plataformas que consomem diretamente a saída XML do Nmap e a integram em painéis de gestão de vulnerabilidades, correlacionando cada serviço detetado com bases de dados de CVE. Mas mesmo sem essas ferramentas comerciais, um simples conjunto de scans agendados e comparados com Ndiff já oferece uma visibilidade que muitas redes domésticas e pequenas empresas nunca tiveram.
Considerações legais e éticas em Portugal
O Nmap é uma ferramenta legítima e legal de administração de sistemas, mas o seu uso indevido pode ter consequências graves. Em Portugal, a Lei do Cibercrime (Lei n.º 109/2009) criminaliza o acesso ilegítimo a sistemas informáticos. Fazer scan a sistemas de terceiros sem autorização pode ser interpretado como tentativa de acesso indevido, mesmo que não tenha extraído qualquer dado.
A regra de ouro é simples: só faça scan ao que é seu ou ao que tem autorização escrita para testar. Em contextos profissionais de teste de intrusão, essa autorização materializa-se num documento formal (o chamado “scope” ou “rules of engagement”) que define exatamente que sistemas podem ser testados, quando e como. Para praticar legalmente sem qualquer risco, o projeto Nmap mantém o host scanme.nmap.org, disponibilizado de propósito para experiências, desde que não abuse com scans excessivos.
Vale também a pena enquadrar tudo isto na realidade nacional. Como mostram os dados sobre ciberataques em Portugal, as organizações portuguesas registam milhares de tentativas de ataque por semana. Usar o Nmap de forma defensiva, para encontrar e fechar serviços expostos antes que um atacante os explore, é exatamente o tipo de utilização responsável que a comunidade de segurança incentiva. Para aprofundar os fundamentos da segurança online, consulte também o nosso guia de segurança online.
Perguntas Frequentes sobre o Nmap
O Nmap é gratuito?
Sim. O Nmap é software de código aberto distribuído sob a licença NPSL (Nmap Public Source License). Pode usá-lo livremente para fins pessoais, educativos e na maioria dos contextos profissionais. Para casos de integração em produtos comerciais redistribuídos, existe uma licença comercial separada, mas para a utilização descrita neste tutorial não tem qualquer custo.
É ilegal usar o Nmap?
A ferramenta em si é totalmente legal. O que pode ser ilegal é fazer scan a sistemas sem autorização. Fazer scan à sua própria rede, a sistemas que administra ou ao host de testes oficial é perfeitamente legal. Fazer scan a infraestruturas de terceiros sem consentimento pode violar a Lei do Cibercrime em Portugal.
Qual a diferença entre Nmap e Wireshark?
O Nmap é ativo: envia pacotes para descobrir e mapear a rede. O Wireshark é passivo: captura e analisa o tráfego que já circula na rede. São complementares. Use o Nmap para descobrir o que existe e o Wireshark para inspecionar ao detalhe o que cada serviço comunica.
Preciso de saber programar para usar o Nmap?
Não. Para a utilização do dia a dia basta a linha de comandos, sem qualquer programação. Só se quiser escrever os seus próprios scripts NSE é que precisa de conhecer a linguagem Lua. As centenas de scripts já incluídos cobrem a esmagadora maioria das necessidades.
Quanto tempo demora um scan completo?
Depende muito. Um scan às 1000 portas por defeito de um único host demora segundos. Um scan a todas as 65535 portas de uma rede /24 com deteção de versões e SO pode demorar horas. O template de tempo (-T4), o número de portas e o uso de UDP são os fatores que mais influenciam a duração.
O meu antivírus deteta o Nmap como ameaça. É normal?
Sim, é frequente. Muitos antivírus classificam ferramentas de segurança como o Nmap na categoria “hacktool” ou “riskware”, porque podem ser usadas tanto para defesa como para ataque. Se descarregou o Nmap da fonte oficial em nmap.org, o aviso é um falso positivo e pode adicionar uma exceção com segurança.
Qual a versão mais recente do Nmap?
A versão estável atual é o Nmap 7.99, lançada a 26 de março de 2026. Ao longo de 2025 saíram as versões 7.96, 7.97 e 7.98. Recomendamos sempre descarregar a versão mais recente disponível na página oficial de transferências para ter as últimas assinaturas de serviços e scripts NSE.
Como faço para que o Nmap lide com a firewall?
O Nmap não “ignora” firewalls, mas oferece técnicas para lidar com elas: -Pn evita a descoberta de hosts quando os pings são bloqueados, -f fragmenta pacotes e --source-port permite testar regras baseadas na porta de origem. Estas opções são úteis em auditorias autorizadas para perceber como a firewall está configurada.
Cobertura Relacionada
- Wireshark: Análise de Pacotes em 12 Passos [2026]
- Autenticação SSH com Chaves Ed25519: 12 Passos [2026]
- Ciberataques em Portugal: 2.437/Semana, +32% UE [2026]
- DBIR 2026: 31% das Fugas por Vulnerabilidades [2026]
- CVE em Crise: EUVD da UE e 11 Meses de Risco [2026]
- HTTPS no Nginx com Let’s Encrypt: 12 Passos [2026]
- Segurança Online Explicada: Guia Prático
Fontes externas de referência: o site oficial do Nmap, a página de transferências, a documentação do licenciamento NPSL e a página da Wikipédia sobre o Nmap.




