Uno dei comandi che sono diventati essenziali per molti sysadmin e professionisti Linux è il comando nmap. Ecco perché più informazioni abbiamo su questo comando, meglio è. Ecco perché abbiamo preparato questo post con l'intenzione di imparare a usare il comando nmap in Linux.
Introduzione a Nmap
Secondo il sito web dello strumento, troviamo la seguente definizione:
Nmap ("Network Mapper") è un'utilità gratuita e open source per il rilevamento della rete e il controllo della sicurezza. Molti sistemi e amministratori di rete lo trovano utile anche per attività quali l'inventario di rete, la gestione dei programmi di aggiornamento dei servizi e il monitoraggio dell'host o del tempo di attività del servizio. Nmap utilizza i pacchetti IP grezzi in modi nuovi per determinare quali host sono disponibili sulla rete, quali servizi (nome dell'applicazione e versione) offrono quegli host, quali sistemi operativi (e versioni del sistema operativo) sono in esecuzione, che tipo di filtri di pacchetti/firewall sono in uso e dozzine di altre caratteristiche. È stato progettato per eseguire rapidamente la scansione di reti di grandi dimensioni, ma funziona bene contro singoli host.
Questo strumento è ampiamente utilizzato in tutto il mondo Linux, ma ha anche versioni per macOS, Windows e altri sistemi Unix.
Nmap supporta dozzine di tecniche avanzate per mappare reti piene di filtri IP, firewall, router e altri ostacoli. Inoltre, Nmap è stato utilizzato per scansionare enormi reti di letteralmente centinaia di migliaia di macchine .
Installazione dello strumento
In generale, questo strumento non è presente di default nelle installazioni delle principali distribuzioni Linux. Ma il pacchetto è disponibile nei repository ufficiali di quasi tutti, quindi l'installazione è abbastanza semplice.
Nel caso di Debian, Ubuntu e derivati, puoi installarlo con il seguente comando:
sudo apt install nmap
Ma se usi Fedora, CentOS 8, Rhel 8 e derivati:
sudo dnf install nmap
Ma su distribuzioni come Arch Linux, Manjaro e derivati:
sudo pacman -S nmap
Infine, per OpenSUSE:
sudo zypper in nmap
Essendo abbastanza leggero, l'installazione sarà molto veloce.
Come usare il comando nmap
Il modo più semplice in cui funziona il comando è usarlo per scansionare un host definito da indirizzo IP o dominio.
Ad esempio:
nmap [ip-adress] nmap [domain]
Otterrai un output simile a questo:
Starting Nmap 7.70 ( https://nmap.org ) at 2021-03-26 13:59 -04 Nmap scan report for example.com (x.x.x.x) Host is up (0.17s latency). Other addresses for example.com (not scanned): x.x.x.x Not shown: 996 filtered ports PORT STATE SERVICE 80/tcp open http 443/tcp open https 8080/tcp open http-proxy 8443/tcp open https-alt Nmap done: 1 IP address (1 host up) scanned in 16.05 seconds
In questa schermata di output, sarai in grado di conoscere la latenza, le porte disponibili e i servizi che ne fanno uso. Se aggiungi l'opzione -v puoi avere un output più dettagliato.
nmap -v [ip-adress-or-domain]
Tuttavia, puoi scansionare più host separandoli da uno spazio vuoto.
nmap 192.168.1.1 192.168.1.1.10 192.168.1.22
D'altra parte, puoi anche scansionare un'intera gamma di indirizzi IP.
nmap 192.168.1.1-100
In questo modo puoi controllare più indirizzi contemporaneamente.
Esempio di utilizzo del comando nmap
Esegui una rapida scansione di un indirizzo IP .
È possibile eseguire una scansione rapida quando richiesto, è necessario utilizzare il -F
opzione
nmap -F 192.168.1.34
Rileva gli host attivi all'interno di una rete .
Questa opzione è abbastanza utile per scoprire quando viene utilizzata una macchina, basta includere il -sn
opzioni
nmap -sn 192.168.0.0/24
Conosci il sistema operativo dell'host
Per fare ciò, devi aggiungere il -O
opzione anche se su alcuni sistemi operativi non avrà successo per mancanza di autorizzazioni. Per usarlo, dovrai essere un utente root o usare sudo
.
sudo nmap -O 192.168.1.22
Verifica se il firewall funziona .
Per controllare lo stato del Firewall puoi usare il -sA
opzione con root o sudo
autorizzazioni.
sudo nmap -sA 192.168.1.32
Lavorare con le porte
Una delle opzioni più interessanti offerte da nmap è che puoi scansionare una porta specifica. Per questo esempio, sceglierò la porta 80
che è una delle porte più comunemente utilizzate.
nmap -p 80 192.168.1.11
Oppure scansiona più porte contemporaneamente:
nmap -p 80,443 192.168.1.11
In questo modo eseguirai la scansione delle porte 80
e 443
ma possono essere quanti ne vuoi ma separati da virgole.
Inoltre, puoi scansionare un intervallo di porte usando -
firma
nmap -p 80-90 192.168.1.5
Questo è un modo semplice per verificare se un determinato servizio utilizza una determinata porta.
Porte TCP
Nel caso in cui desideri scansionare tutte le porte TCP puoi farlo con il seguente comando
nmap -sT 192.168.2.124
In questo modo, eseguirai la scansione di tutte le porte che utilizzano il protocollo TCP su un determinato host.
Inoltre, puoi specificare una porta di questo protocollo:
nmap -p T:80 192.168.2.124
In questo caso, sto controllando la porta 80, ma può essere qualsiasi porta tu voglia.
Porte UDP
Abbiamo anche la possibilità di scansionare le porte UDP, per questo l'opzione da usare è sU
opzione.
nmap -sU 192.168.2.124
Allo stesso modo, puoi scansionare una porta del protocollo UDP in modo simile a TCP.
nmap -p U:81 192.168.2.124
Conclusione
La nmap
tool è un'utilità di base per molte persone che lavorano su Linux, specialmente nel networking. Anche se viene utilizzato anche dai programmatori per sapere se qualche applicazione utilizza una porta specifica, ma questo va oltre ed è possibile trovare maggiori informazioni sull'host o anche sulla rete. Soprattutto quando la rete da analizzare è una rete interna.
Infine, usando nmap
il comando non è complesso ma le numerose opzioni possono sopraffare alcuni utenti. Per questo, ti consigliamo di leggere la documentazione ufficiale.