1 14/04/2026 8 min

Su Ubuntu 20.04 Nmap si installa in pochi minuti, ma la parte davvero utile non è il comando di installazione: è capire quale pacchetto stai prendendo, come verificarne la presenza, come usare gli scan senza esporti a errori banali e come rimuoverlo in modo pulito se serve. Nmap è uno strumento di diagnostica e ricognizione: usalo solo su host e reti per cui hai autorizzazione, perché anche uno scan leggero può finire nei log di firewall, IDS e sistemi di monitoraggio.

Pacchetto corretto su Ubuntu 20.04

Su Focal Fossa il pacchetto si chiama semplicemente nmap ed è disponibile nei repository ufficiali. Nella maggior parte dei casi non serve aggiungere PPA o sorgenti esterne: installarlo dai repository standard ti dà un binario allineato al ciclo di sicurezza della distro e ti evita dipendenze strane.

Prima di installare, conviene aggiornare l’indice dei pacchetti e verificare che il repository principale sia attivo. Se il sistema è appena stato installato o è un’immagine minimale, questa è la prima cosa da controllare.

sudo apt update
apt-cache policy nmap

Nel caso normale, apt-cache policy nmap mostra una versione candidata proveniente dai repository Ubuntu. Se vedi Candidate: (none), il problema non è Nmap: manca la sorgente pacchetti o la macchina non riesce a raggiungere i mirror.

Installazione con apt

La procedura base è questa. Non richiede servizi da avviare, perché Nmap è un tool da riga di comando e non un demone persistente.

sudo apt update
sudo apt install nmap

Dopo l’installazione, verifica subito che il binario sia presente e che il sistema stia usando la versione attesa.

nmap --version

Un output tipico include la versione di Nmap, la piattaforma di compilazione, le librerie di supporto e il path del binario. Se il comando non viene trovato, controlla che il pacchetto sia stato installato davvero e che non ci siano alias o PATH alterati.

Cosa installa davvero il pacchetto

Il pacchetto nmap porta con sé l’eseguibile principale e i file necessari ai vari tipi di scan. Su Ubuntu 20.04 non stai installando solo un “ping avanzato”: hai a disposizione TCP connect scan, SYN scan, detection dei servizi, rilevamento del sistema operativo, script NSE e diverse opzioni di output. La parte utile è sapere che molte funzioni richiedono privilegi elevati o capacità di rete specifiche.

Se vuoi una verifica rapida del contenuto installato, puoi interrogare il pacchetto con dpkg.

dpkg -L nmap | head -n 20

Tra i percorsi tipici troverai /usr/bin/nmap e la documentazione in /usr/share. Questo controllo è utile quando stai lavorando su server hardenizzati o container dove vuoi sapere esattamente cosa è stato aggiunto.

Permessi e differenza tra scan privilegiato e non privilegiato

Molti scan interessanti di Nmap richiedono accesso raw ai pacchetti o capacità equivalenti. Su un sistema standard, questo significa eseguire il comando con sudo. Senza privilegi, Nmap degrada su tecniche meno invasive e può restituire risultati parziali o meno precisi.

Per esempio, uno scan di una singola porta su un host locale può funzionare anche senza privilegi, ma un SYN scan classico no. Se vuoi capire subito se hai i permessi giusti, prova un test minimale.

nmap -sS 127.0.0.1

Se ottieni un errore di privilegio o un fallback non desiderato, rilancia con sudo. In ambiente server è la scelta più semplice; in ambienti con policy restrittive meglio valutare capability specifiche o l’esecuzione da account amministrativo controllato.

Verifica rapida dopo l’installazione

Una volta installato, fai tre controlli: binario, versione e scan locale. È il modo più rapido per escludere problemi di pacchetto corrotto, PATH e permessi.

  1. Controlla il binario: command -v nmap deve restituire un path valido, tipicamente /usr/bin/nmap.
  2. Controlla la versione: nmap --version deve mostrare un output coerente con i repository Ubuntu 20.04.
  3. Esegui un test locale: sudo nmap -sV 127.0.0.1 deve completarsi senza errori di accesso.
command -v nmap
nmap --version
sudo nmap -sV 127.0.0.1

Nel terzo comando, l’opzione -sV prova a identificare i servizi in ascolto. Su una macchina quasi vuota potresti vedere poche o nessuna porta aperta: non è un errore, è un risultato coerente. L’obiettivo qui è verificare che il tool funzioni, non trovare per forza servizi esposti.

Uso base: i comandi che servono davvero

Nmap diventa utile quando smetti di usarlo come scanner “a caso” e inizi a trattarlo come strumento di verifica mirata. Il primo livello è capire se un host risponde e quali porte espone. Il secondo è distinguere porte aperte, filtrate o chiuse. Il terzo è identificare servizi e versioni per confrontarli con l’inventario atteso.

sudo nmap 192.0.2.10
sudo nmap -Pn 192.0.2.10
sudo nmap -sV 192.0.2.10
sudo nmap -O 192.0.2.10

Il primo comando fa uno scan standard. Il secondo disabilita il ping preliminare ed è utile quando ICMP è bloccato ma l’host è raggiungibile. Il terzo prova a riconoscere i servizi. Il quarto tenta il fingerprint del sistema operativo, ma il risultato dipende molto da rete, firewall e quantità di informazioni disponibili.

In pratica, il comando più utile in troubleshooting non è il più aggressivo, ma quello che ti dà una risposta chiara con il minor rumore possibile. Su reti con IDS, partire con scan troppo ampi può generare risultati peggiori e più alert del necessario.

Scan su una subnet senza fare confusione

Quando devi mappare una rete, evita di lanciare subito scan completi su interi range se non hai un motivo preciso. Parti da un sottoinsieme noto e restringi il campo. Questo riduce tempi, rumore e possibilità di interpretare male i risultati.

sudo nmap -sn 192.0.2.0/24

L’opzione -sn esegue una discovery senza port scan. È utile per capire quali host sono vivi prima di fare verifiche più costose. Se la rete blocca il ping, potresti vedere meno host del previsto: in quel caso usa -Pn sui target che sai essere attivi.

Output salvato: quando conviene farlo subito

Se stai lavorando su ticket, incidenti o audit interni, salva sempre l’output. Ripetere lo scan a mano dopo mezz’ora è il modo più veloce per perdere il contesto. Nmap supporta più formati di output; quello testuale è il minimo, ma XML e grepable possono essere utili se devi post-processare i risultati.

sudo nmap -sV -oN scan.txt 192.0.2.10
sudo nmap -sV -oX scan.xml 192.0.2.10

Il file scan.txt è leggibile subito. Il file scan.xml è più adatto se devi importare i risultati in altri strumenti o automatizzare controlli periodici. Conserva questi file in una directory di lavoro con permessi adeguati, soprattutto se contengono informazioni sensibili sulla tua infrastruttura.

NSE: script utili senza esagerare

Il motore NSE (Nmap Scripting Engine) è la parte che spesso rende Nmap davvero interessante, ma è anche quella che viene usata male più facilmente. Gli script possono raccogliere informazioni aggiuntive, verificare configurazioni e testare esposizioni note. Non vanno lanciati a tappeto senza sapere cosa fanno.

Un uso prudente è partire con script informativi e ben compresi, controllando il loro comportamento prima di estenderli ad altri host.

sudo nmap --script default 192.0.2.10

Se vuoi esplorare quali script sono presenti localmente, puoi usare i file sotto /usr/share/nmap/scripts/. Anche qui, il punto non è “provare tutto”, ma capire quali script sono pertinenti al tuo caso d’uso.

ls /usr/share/nmap/scripts/ | head

Su sistemi gestiti, conviene documentare quali script sono ammessi nei runbook interni. È un modo semplice per evitare scan troppo rumorosi o interpretazioni errate da parte del team NOC/SOC.

Rimozione pulita e rollback

Se hai installato Nmap per una verifica temporanea o in un host di produzione che non deve mantenere tool di diagnostica non necessari, la rimozione è immediata. Il rollback qui è semplice perché non stai toccando dati applicativi: stai solo togliendo un pacchetto.

sudo apt remove nmap
sudo apt autoremove

Prima di rimuoverlo, assicurati di aver esportato eventuali output utili. Se hai file scan.txt o scan.xml, archiviali in una posizione sicura o in un ticket, perché dopo la rimozione il tool non sarà più disponibile ma i risultati potrebbero servirti per confronti successivi.

Problemi frequenti su Ubuntu 20.04

Il primo problema non è quasi mai Nmap, ma la rete locale o la configurazione del sistema. Se apt install fallisce, controlla connettività, DNS e repository. Se lo scan restituisce pochi risultati, verifica firewall, policy di rete e privilegi. Se il comando funziona ma i risultati sembrano incoerenti, confronta l’output con un secondo strumento, ad esempio ss -tulpen sul target se hai accesso amministrativo.

ss -tulpen
sudo ufw status verbose

Questi controlli sono utili quando stai facendo troubleshooting interno e vuoi capire se il servizio è realmente esposto o se è filtrato. Nel dubbio, non assumere che Nmap stia “sbagliando”: spesso sta mostrando proprio l’effetto del filtro di rete.

Quando usare Nmap in modo sensato

Su Ubuntu 20.04 Nmap è uno strumento da tenere nel kit base di amministrazione, insieme a curl, dig, ss e tcpdump. È più utile quando lo usi per confermare un’ipotesi precisa: una porta deve essere aperta ma non lo è, un servizio risponde in modo anomalo, una subnet mostra host inattesi, oppure un firewall sta filtrando più del previsto.

Se lo usi come scanner indiscriminato, ottieni rumore. Se lo usi come strumento di verifica, ottieni risposte. E in amministrazione di sistema la differenza è tutta lì.

Assunzione operativa: i comandi mostrati sono eseguiti su Ubuntu 20.04 con accesso sudo e repository ufficiali attivi; se la macchina è in rete filtrata o dietro proxy, prima va risolta la connettività di base.