Comando nmap in Linux: controllare porte e interpretare open, closed e filtered
nmap esamina host e porte di rete per identificare servizi raggiungibili sui sistemi che amministri o che hai il permesso di verificare. Nei controlli TCP (Transmission Control Protocol), open indica una porta che accetta connessioni, closed una porta raggiungibile senza un servizio in ascolto e filtered un esito che non permette di stabilire se la porta sia aperta a causa del filtraggio.
Questi stati descrivono ciò che Nmap osserva da un certo punto della rete e in un dato momento: non sono proprietà immutabili della macchina. Il numero di porta e il nome del servizio non bastano a stabilire versione, corretto funzionamento o sicurezza dell'applicazione.
Sintassi e preparazione
nmap [options] target
La riga descrive la sintassi: sostituisci target con il bersaglio previsto e scegli le opzioni, senza copiare le parentesi quadre. Controlla nmap --version e man nmap sulla macchina interessata. Versione, dati installati e privilegi influenzano le tecniche disponibili e i risultati.
Per gli esempi usa il loopback del tuo ambiente di prova. 127.0.0.1 riguarda il contesto di rete corrente: dentro un contenitore o uno spazio dei nomi non coincide automaticamente con l'host fisico. Verifica il contesto e i limiti operativi prima di iniziare; non serve aggiungere privilegi amministrativi indiscriminatamente per questi esempi con connessioni TCP.
Esempi sul proprio computer
Scansione predefinita. Per osservare il risultato di base sul loopback:
nmap 127.0.0.1
Il comando ordinario controlla normalmente le 1.000 porte TCP più comuni secondo i dati di Nmap, non tutte le porte e non anche UDP (User Datagram Protocol). La tecnica predefinita può dipendere dai privilegi: quando possibile usa SYN, mentre senza i privilegi necessari per pacchetti raw passa alla connessione TCP. Se vuoi una prova piccola e ripetibile, limita esplicitamente le porte come nell'esempio seguente.
Due porte TCP specifiche. Per restringere il controllo alle porte 22 e 80:
nmap -sT -p 22,80 127.0.0.1
-sT usa la chiamata di connessione del sistema operativo. Su una porta aperta può completare la connessione prima di chiuderla: non è un'operazione priva di traffico e può comparire nei log del servizio. -p 22,80 limita le porte della scansione; non implica che esistano un server SSH o un server web sul computer.
La selezione delle porte della scansione e l'eventuale fase di scoperta dell'host sono concetti distinti: non generalizzare -p come garanzia che ogni pacchetto possibile dell'intera esecuzione riguardi soltanto quelle porte. Mantieni anche il bersaglio esplicito e circoscritto.
Solo scoperta dell'host. Per usare la modalità senza scansione delle porte:
nmap -sn 127.0.0.1
-sn disattiva la scansione delle porte e lascia la scoperta degli host. Non significa «nessuna attività di rete» né verifica che un'applicazione sia disponibile. Le modalità di scoperta dipendono da contesto e privilegi; il risultato sul loopback non dimostra che la macchina sia raggiungibile da Internet.
Leggere PORT, STATE e SERVICE
Questa forma mantiene esplicita la tecnica TCP connect, ma non limita le porte a due:
nmap -sT 127.0.0.1
La seguente tabella di testo è uno schema illustrativo, non una promessa che la porta 22 risulti aperta:
PORT STATE SERVICE
22/tcp open ssh
PORT identifica numero e protocollo; STATE riporta la valutazione di Nmap; SERVICE, senza rilevamento aggiuntivo, può essere un'associazione del database basata sul numero di porta. La voce ssh non prova da sola che su quella porta stia effettivamente girando SSH, né che una particolare versione sia sicura.
- open: negli esempi TCP il servizio accetta la connessione da quel punto di osservazione. Autenticazione, certificati e risposte applicative richiedono controlli separati.
- closed: la porta risponde alle sonde, ma non risulta un'applicazione in ascolto. «Chiusa» non equivale a «macchina irraggiungibile».
- filtered: il filtraggio impedisce di determinare se la porta sia aperta. Non convertirlo in una conclusione di porta chiusa.
Alcune tecniche possono riportare anche stati composti come open|filtered: la barra esprime incertezza e non conferma una porta aperta. Se nessuna porta selezionata risulta aperta, l'output può mostrare soltanto un riepilogo invece della riga illustrata. Per confrontare risultati conserva indirizzo, protocollo, porte, opzioni, privilegi e punto di esecuzione.
Quando un risultato locale sorprende, confrontalo con i socket in ascolto mostrati da ss, verificando anche indirizzo di bind e famiglia IP. Per una singola connessione puoi usare nc e l'interpretazione dei risultati TCP. Una riuscita locale non sostituisce una verifica dal punto di rete del client interessato.
Opzioni principali
| Opzione | Uso |
|---|---|
-sT |
Usa connessioni TCP tramite il sistema operativo. |
-p elenco |
Seleziona esplicitamente le porte della scansione. |
-sn |
Esegue scoperta dell'host senza scansione delle porte. |
-Pn |
Salta la normale scoperta e tratta i bersagli come attivi. |
-sV |
Invia ulteriori sonde per identificare servizio e versione. |
-oN file |
Salva il risultato nel formato normale leggibile. |
elenco e file sono segnaposto. -sn e -Pn risolvono esigenze diverse: il primo elimina la scansione delle porte; il secondo non rende raggiungibile un host, ma prosegue con le operazioni richieste anche senza la normale conferma preliminare. Su una rete Ethernet locale possono comunque servire operazioni ARP o Neighbor Discovery per individuare gli indirizzi di collegamento.
-sV interroga i servizi e confronta le risposte con i dati di riconoscimento. È una verifica attiva aggiuntiva, non una prova automatica di vulnerabilità o dell'assenza di correzioni di sicurezza. Un identificativo di versione può essere incompleto o personalizzato: confrontalo con inventario e pacchetti realmente installati prima di trarre conclusioni.
Per conservare una prova puoi aggiungere -oN seguito da un percorso nuovo al comando scelto. Usa un nome descrittivo e controlla che non sovrascriva un risultato da preservare; annota data e condizioni della prova. Il formato normale è adatto alla lettura, mentre per elaborazioni automatiche Nmap offre anche formati strutturati.
Precauzioni e confronto dei risultati
Limita bersagli e porte alla domanda che vuoi risolvere. Ampi intervalli di indirizzi, identificazione di versione e script aggiuntivi aumentano richieste e possibili eventi nei sistemi di monitoraggio; non aggiungerli soltanto per ottenere un output più lungo. Prima di estendere un controllo verifica ambito autorizzato, finestra operativa e impatto sui servizi.
Un risultato dipende da filtri, percorso e momento dell'esame. Se due prove differiscono, confronta prima indirizzo effettivo, IPv4 o IPv6, tipo di scansione e posizione del client. Non modificare firewall o avviare servizi soltanto per far corrispondere l'output all'esempio. Nmap aiuta a osservare l'esposizione di rete, ma non sostituisce l'inventario degli asset o una valutazione completa della sicurezza.
Domande frequenti
In Nmap filtered significa che la porta è chiusa?
No. Significa che Nmap non riesce a determinare se sia aperta perché il filtraggio impedisce di ottenere le informazioni necessarie. Conserva il risultato come incerto e verifica percorso, regole e contesto; non trattarlo come prova dell'assenza di un servizio.
Documentazione di riferimento
La documentazione ufficiale descrive gli stati delle porte, le tecniche di scansione e la scoperta degli host. Consulta anche i riferimenti su selezione delle porte, identificazione dei servizi e formati di uscita per le condizioni delle singole opzioni.




