Guida rapida: Comandi Nmap essenziali

Comandi Essenziali di Nmap — Cheat Sheet

I seguenti dodici comandi coprono il 90% delle operazioni quotidiane con Nmap. Ogni voce elenca la sintassi esatta, lo scopo e una valutazione pratica su quando usarli o evitarli. I flag che richiedono privilegi root o generano rumore di rete significativo sono contrassegnati.

Simbolo Significato
🔒 Richiede privilegi root / elevati
🔊 Genera rumore significativo; probabile attivazione di allarmi IDS/IPS

Rilevamento Host e Mappatura Rete

nmap -sn 192.0.2.0/24

Cosa fa: Invia echo ICMP, TCP SYN sulla porta 443, TCP ACK sulla porta 80 e richieste di timestamp ICMP per identificare host attivi. Quando usarlo: Inventario iniziale della rete, scoperta asset o prima di una finestra di manutenzione per identificare sistemi che rispondono. Rischi: ICMP è spesso bloccato dai firewall perimetrali; perderai host che scartano il ping ma espongono servizi. Output atteso: Elenco di indirizzi IP con dati di latenza Host is up; nessun dato sulle porte.

Quando evitarlo Alternativa
Hai bisogno dei dati sullo stato delle porte per confermare l'esposizione del servizio Rimuovi -sn ed esegui direttamente -sS; accetta che scannerai alcuni IP inattivi

Scansione TCP Stealth con Rilevamento OS

sudo nmap -sS -O 198.51.100.42

🔒

Cosa fa: Invia pacchetti SYN senza completare il three-way handshake TCP (scansione half-open); sonda le peculiarità dello stack TCP/IP per l'impronta digitale del sistema operativo. Quando usarlo: Ricognizione in cui vuoi minimizzare le voci di log sul target; i dati OS aiutano a priorizzare i controlli di vulnerabilità. Rischi: -O richiede root e invia traffico di sonda aggiuntivo; l'accuratezza si degrada con firewall/NAT. Output atteso: Tabella delle porte più la riga Running: con ipotesi OS e percentuale di confidenza.

PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https
MAC Address: 00:50:56:C0:00:08 (VMware)
Device type: general purpose
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5.15
OS details: Linux 5.15

Una porta marcata filtered non è un risultato pulito — è una domanda senza risposta. Significa che un firewall, un filtro host-based o un rate-limiting ha scartato la sonda senza RST. Registrale separatamente; spesso indicano confini di segmentazione degni di essere mappati.

Rilevamento Versione Servizio con Script Default

sudo nmap -sV -sC 198.51.100.42

🔒

Cosa fa: -sV sonda le porte aperte per determinare nomi servizio e banner di versione; -sC esegue il set di default di script NSE (categoria safe, non intrusiva). Quando usarlo: Documentazione di baseline, correlazione vulnerabilità o prima dei cicli di patch. Rischi: Il banner grabbing può far crashare servizi embedded fragili; gli script -sC sono "safe" ma non a rischio zero. Output atteso: Tabella porte migliorata con colonna VERSION e blocchi di output script.

Scansione Intera Gamma Porte

sudo nmap -p- 198.51.100.42

🔒

Cosa fa: Scansiona tutte le 65.535 porte TCP (-p- espande a 1-65535). Quando usarlo: Valutazione approfondita di compromissione, ambienti CTF o quando sospetti servizi non standard oltre la porta 1024. Rischi: La durata scala linearmente; un singolo host può richiedere 15-60+ minuti a seconda di latenza e limiti di rate. Output atteso: Inventario porte completo; la maggior parte mostrerà closed o filtered.

Lab: nmap -p- -T4 198.51.100.42 (più veloce, più rumoroso) Produzione: nmap -p- -T2 --max-retries 1 198.51.100.42 (più lento, più delicato su link WAN)

Scansione Aggressiva

sudo nmap -A 198.51.100.42

🔒 🔊

Cosa fa: Equivalente a -sV -sC -O --traceroute; abilita rilevamento versione, script default, fingerprinting OS e tracciamento percorso in una sola invocazione. Quando usarlo: Ispezione approfondita singolo host quando serve il massimo dei dati e il rumore è accettabile. Rischi: Molto verboso; le sonde traceroute possono trapelare informazioni sul percorso sorgente. Output atteso: Rapporto consolidato adatto per documentazione o allegato ticket.

Output in Tutti i Formati

nmap -oA scan_20250715_198.51.100.42 -sV 198.51.100.42

Cosa fa: Scrive simultaneamente .nmap (human-readable), .xml (parser-friendly) e .gnmap (grep-friendly). Quando usarlo: Qualsiasi flusso di lavoro scriptato o quando strumenti downstream consumano XML. Rischi: Nessuno operativo; assicurati che la directory di scrittura esista. Output atteso: Tre file con basename coerente.

Velocità Bilanciata per Porte Comuni

nmap -T4 --top-ports 1000 192.0.2.0/24

🔊

Cosa fa: Usa il template di timing 4 (aggressive) sulle 1.000 porte più frequentemente aperte secondo la ricerca di Fyodor. Quando usarlo: Controlli rapidi di integrità su reti interne con buona larghezza di banda e senza preoccupazioni IDS. Rischi: -T4 può sopraffare target lenti o link congestionati; perde pacchetti in condizioni di perdita. Output atteso: Risultati rapidi per host reattivi; falsi negativi su servizi non comuni.

Salta Rilevamento Host

nmap -Pn 198.51.100.42

Cosa fa: Tratta il target come online indipendentemente dalla risposta ping; procede direttamente alla scansione porte. Quando usarlo: I target bloccano ICMP, o stai scansionando attraverso proxy/forwarder dove le sonde di rilevamento host falliscono diversamente dalle sonde di porta. Rischi: Aspetterai cicli di timeout completi contro IP veramente morti. Output atteso: Risultati porte per host che altrimenti sarebbero saltati.

Scansione UDP Veloce

sudo nmap -sU -F 198.51.100.42

🔒

Cosa fa: -sU invia datagrammi UDP; -F limita alle top 100 porte invece delle 1.000 default. Quando usarlo: Controlli infrastruttura DNS, SNMP, NTP o VoIP dove sono previsti servizi UDP. Rischi: La scansione UDP è intrinsecamente lenta (nessun handshake per confermare lo stato); molte porte restituiscono open|filtered per silenzio. Output atteso: Risultati radi ma critici; pianifica runtime lunghi se espandi oltre -F.

Rilevamento Vulnerabilità con NSE

nmap --script vuln 198.51.100.42

🔊

Cosa fa: Esegue tutti gli script NSE nella categoria vuln (controlla CVE noti, misconfigurazioni, credenziali default). Quando usarlo: Valutazioni sicurezza programmate, validazione pre-patch o triage risposta agli incidenti. Rischi: Alcuni script sono intrusivi; i falsi positivi richiedono verifica manuale. Output atteso: Risultati vulnerabilità strutturati con riferimenti e punteggi CVSS dove disponibili.

Scansione Decoy

sudo nmap -D RND:10 198.51.100.42

🔒 🔊

Cosa fa: Genera 10 IP sorgente decoy casuali intercalati con sonde reali; i log del target mostrano origini miste. Quando usarlo: Solo uso autorizzato e difensivo. Usalo in ambienti lab o in esercizi di validazione rilevamento esplicitamente autorizzati per testare regole di correlazione SIEM e allarmi basati su sorgente.

Evasione per Frammentazione

sudo nmap -f --mtu 16 198.51.100.42

🔒 🔊

Cosa fa: -f divide la sonda in frammenti da 8 byte; --mtu 16 forza frammenti payload da 16 byte. Aggira filtri pacchetto semplici che non riassemblano i flussi. Quando usarlo: Solo uso autorizzato e difensivo. Testing IDS/IPS in ambienti controllati, o per validare che i propri dispositivi edge riassemblino correttamente prima della valutazione ACL.

Riferimento Rapido Categorie Flag

Categoria Flag Comuni Scopo
Tipo scansione -sS, -sT, -sU, -sV, -A, -sn TCP SYN, connect, UDP, versione, aggressive, ping sweep
Timing -T0 a -T5, --min-rate, --max-retries Compromesso velocità vs. stealth; -T0/T1 per evasione IDS, -T3 default, -T4/-T5 per reti interne
Output -oN, -oX, -oG, -oA Formati normal, XML, grepable, tutti
Evasione -f, --mtu, -D, --source-port, --data-length Frammentazione, decoy, origini spoofate, padding payload

Errori Comuni

Errore Perché ti penalizza
Eseguire -A di default su ogni target Raddoppia tempo e rumore della scansione; -sV da solo basta per la maggior parte degli inventari
Dimenticare -Pn contro host cloud AWS, GCP, Azure spesso bloccano ICMP; Nmap salta completamente l'host
Usare -T5 attraverso link WAN La perdita di pacchetti causa stati filtered o closed falsi; -T4 è di solito il limite massimo
Ignorare completamente UDP (-sU) SNMP, DNS, IPMI e vari protocolli IoT espongono superficie di attacco solo su UDP
Fidarsi ciecamente dei banner di versione I servizi possono essere honeypot, segnalati erroneamente o patchati con backport senza aggiornamento banner

Checklist Pre-Scansione

  • [ ] Confermare il campo di autorizzazione (range IP, porte, vincoli di timing)
  • [ ] Verificare che la versione di nmap corrisponda alle funzionalità attese (nmap --version)
  • [ ] Testare connettività: ping o nc su un target per confermare il percorso
  • [ ] Selezionare il formato output per il consumo downstream
  • [ ] Per produzione: iniziare con -T3 o -T2, escalation solo se le prestazioni lo consentono
  • [ ] Registrare i parametri di scansione per riproducibilità e correlazione incidenti

Ulteriori letture