Nmap è l’abbreviazione di Network Mapper. È uno strumento di sicurezza open-source per l’esplorazione della rete, la scansione della sicurezza e l’auditing. Tuttavia, il comando Nmap viene fornito con molte opzioni che possono rendere l’utilità più robusta e difficile da seguire per i nuovi utenti. Lo scopo di questa guida è di introdurre un utente allo strumento a riga di comando Nmap per scansionare un host o una rete per scoprire i possibili punti vulnerabili negli host. Imparerete anche come usare Nmap per scopi offensivi e difensivi. Vediamo alcuni esempi di comandi Nmap comuni in esecuzione su Linux o sistemi Unix-like.
- Cos’è Nmap e a cosa serve?
- Esempi di comandi Nmap in Linux e Unix – Esempio di configurazione (LAB) per
- Come faccio a installare nmap su Linux?
- Scansionare un singolo host o un indirizzo IP (IPv4) usando nmap
- Scansione di più indirizzi IP o subnet (IPv4)
- Lettura lista di host/reti da un file (IPv4)
- Esclusione di host/reti (IPv4) da esempi di scansione nmap
- Accendi lo script di scansione del sistema operativo e della versione (IPv4) con nmap
- Trova se un host/rete è protetto da un firewall usando il comando namp
- Scansiona un host quando è protetto dal firewall
- Scansione di un host/indirizzo IPv6 esempi
- Scansiona una rete e scopri quali server e dispositivi sono attivi e funzionanti
- Come posso eseguire una scansione veloce usando il namp?
- Visualizza il motivo per cui una porta è in un particolare stato
- Mostra solo le porte aperte (o possibilmente aperte) usando il comando nmap in Linux
- Mostra tutti i pacchetti inviati e ricevuti
- Mostra le interfacce host e i percorsi
- Come faccio la scansione di porte specifiche usando nmap?
- 16: Il modo più veloce per scansionare tutti i tuoi dispositivi/computer per le porte aperte
- Come faccio a rilevare il sistema operativo remoto con l’aiuto di nmap?
- Come faccio a rilevare i numeri di versione dei servizi remoti (server/demone)?
- Scansiona un host usando ping TCP ACK (PA) e TCP Syn (PS)
- Scansiona un host usando il protocollo IP ping
- Scansiona un host usando UDP ping
- Trova le porte TCP più comunemente usate usando il TCP SYN Scan
- Scansiona un host per i servizi UDP (UDP scan)
- Scansione del protocollo IP
- Scansiona un firewall per debolezze di sicurezza
- Scansiona un firewall per frammenti di pacchetti
- Cloak una scansione con esche
- Scansiona un firewall per lo spoofing degli indirizzi MAC
- Come posso salvare l’output in un file di testo?
- Scansione di server web e pipe in Nikto per la scansione
- Velocizza nmap
- Non sei un fan degli strumenti a riga di comando namp?
- Come posso rilevare e bloccare il port scanning sui server Linux e Unix/BSD?
- Conclusion
Cos’è Nmap e a cosa serve?
nmap in azione
Dalla pagina man:
Nmap (“Network Mapper”) è uno strumento open source per l’esplorazione della rete e il controllo della sicurezza. È stato progettato per scansionare rapidamente grandi reti, anche se funziona bene contro singoli host. Nmap usa i pacchetti IP grezzi in modi nuovi per determinare quali host sono disponibili sulla rete, quali servizi (nome e versione dell’applicazione) questi host stanno offrendo, quali sistemi operativi (e versioni del sistema operativo) stanno eseguendo, che tipo di filtri di pacchetti/firewall sono in uso, e decine di altre caratteristiche. Mentre Nmap è comunemente usato per controlli di sicurezza, molti amministratori di sistema e di rete lo trovano utile per compiti di routine come l’inventario della rete, la gestione dei programmi di aggiornamento dei servizi e il monitoraggio degli host o dei tempi di attività dei servizi.
E’ stato originariamente scritto da Gordon Lyon e può rispondere facilmente alle seguenti domande:
- Trova i computer in esecuzione sulla rete locale
- Quali indirizzi IP hai trovato in esecuzione sulla rete locale?
- Scopri il sistema operativo della tua macchina di destinazione
- Scopri quali porte sono aperte sulla macchina che hai appena scansionato?
- Vedi se il sistema è infettato da malware o virus.
- Cerca server o servizi di rete non autorizzati sulla tua rete.
- Localizzare e rimuovere i computer che non soddisfano il livello minimo di sicurezza dell’organizzazione.
Esempi di comandi Nmap in Linux e Unix – Esempio di configurazione (LAB) per
La scansione delle porte può essere illegale in alcune giurisdizioni. Quindi configura un laboratorio come segue:
+---------+ +---------+ | Network | +--------+ | server1 |-----------+ swtich +---------|server2 | +---------+ | (sw0) | +--------+ +----+----+ | | +---------+----------------+ | wks01 Linux/macOS/Win | +--------------------------+
dove,
- wks01 è il tuo computer con sistema operativo Linux/macOS (OS X) o Unix. Viene utilizzato per la scansione della vostra rete locale. Il comando nmap deve essere installato su questo computer.
- server1 può essere alimentato da sistemi operativi Linux / Unix / MS-Windows. Questo è un server senza patch. Sentiti libero di installare alcuni servizi come un web-server, un file server e così via.
- server2 può essere alimentato da sistemi operativi Linux / Unix / MS-Windows. Si tratta di un server completamente patchato con firewall. Di nuovo, sentiti libero di installare alcuni servizi come un web-server, un file server e così via.
- Tutti e tre i sistemi sono collegati tramite switch.
Come faccio a installare nmap su Linux?
Vedi:
- Debian / Ubuntu Linux: Installare il software nmap per la scansione della rete
- CentOS / RHEL: Installare nmap Network Security Scanner
- OpenBSD: Installare nmap Network Security Scanner
Scansionare un singolo host o un indirizzo IP (IPv4) usando nmap
Fig.01: output di nmap
Scansione di più indirizzi IP o subnet (IPv4)
nmap 192.168.1.1 192.168.1.2 192.168.1.3## works with same subnet i.e. 192.168.1.0/24 nmap 192.168.1.1,2,3
Puoi scansionare anche un intervallo di indirizzi IP:
nmap 192.168.1.1-20
Puoi scansionare un intervallo di indirizzi IP usando un carattere jolly:
nmap 192.168.1.*
Infine, puoi scansionare un’intera subnet:
nmap 192.168.1.0/24
Lettura lista di host/reti da un file (IPv4)
L’opzione -iL ti permette di leggere la lista dei sistemi target usando un file di testo. Questo è utile per scansionare un gran numero di host/reti. Crea un file di testo come segue:cat > /tmp/test.txt
Applica i nomi come segue:
server1.cyberciti.biz192.168.1.0/24192.168.1.1/2410.1.2.3localhost
La sintassi è la seguente:
nmap -iL /tmp/test.txt
Esclusione di host/reti (IPv4) da esempi di scansione nmap
Quando si scansiona un gran numero di host/reti è possibile escludere gli host da una scansione:
nmap 192.168.1.0/24 --exclude 192.168.1.5nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254
Oppure escludere la lista da un file chiamato /tmp/exclude.txt
nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt
Accendi lo script di scansione del sistema operativo e della versione (IPv4) con nmap
nmap -A 192.168.1.254nmap -v -A 192.168.1.1nmap -A -iL /tmp/scanlist.txt
Trova se un host/rete è protetto da un firewall usando il comando namp
## nmap command examples for your host ##nmap -sA 192.168.1.254nmap -sA server1.cyberciti.biz
Scansiona un host quando è protetto dal firewall
In questo esempio di comando Nmap stiamo per scansionare un router/dispositivo wifi che ha 192.168.1.1 come IP:
nmap -PN 192.168.1.1nmap -PN server1.cyberciti.biz
Scansione di un host/indirizzo IPv6 esempi
L’opzione -6 abilita la scansione IPv6 con il comando namp. La sintassi è:
nmap -6 IPv6-Address-Herenmap -6 server1.cyberciti.biznmap -6 2607:f0d0:1002:51::4nmap -v A -6 2607:f0d0:1002:51::4
Scansiona una rete e scopri quali server e dispositivi sono attivi e funzionanti
Questo è conosciuto come host discovery o ping scan:
nmap -sP 192.168.1.0/24
Ecco come appare:
Come posso eseguire una scansione veloce usando il namp?
nmap -F 192.168.1.1nmap -6 -F IPv6_Address_Here
Visualizza il motivo per cui una porta è in un particolare stato
nmap --reason 192.168.1.1nmap --reason server1.cyberciti.biz
Outputs:
Mostra solo le porte aperte (o possibilmente aperte) usando il comando nmap in Linux
Esegui:
nmap --open 192.168.1.1nmap --open server1.cyberciti.biznmap --open 192.168.2.18
Esiti della scansione dal mio server Linux CentOS 7:
Mostra tutti i pacchetti inviati e ricevuti
nmap --packet-trace 192.168.1.1nmap --packet-trace server1.cyberciti.biz
Mostra le interfacce host e i percorsi
Questo è utile per il debug (comando ip o comando route o comando netstat come l’output usando il comando nmap su Linux)
nmap --iflist
Rapporto dettagliato creato dal comando Namp:
Come faccio la scansione di porte specifiche usando nmap?
Esiti di esempio:
16: Il modo più veloce per scansionare tutti i tuoi dispositivi/computer per le porte aperte
nmap -T5 192.168.1.0/24nmap -T5 {sub/net}
Come faccio a rilevare il sistema operativo remoto con l’aiuto di nmap?
Puoi identificare le applicazioni e il sistema operativo di un host remoto usando l’opzione -O:
nmap -O 192.168.1.1nmap -O --osscan-guess 192.168.1.1nmap -v -O --osscan-guess 192.168.1.1
Esiti di esempio:
Vedi anche Fingerprinting a web-server and a dns server command line tools per maggiori informazioni.
Come faccio a rilevare i numeri di versione dei servizi remoti (server/demone)?
Apri il terminale e poi digita il seguente comando nmap:
nmap -sV 192.168.1.1
Esiti di esempio:
Scansiona un host usando ping TCP ACK (PA) e TCP Syn (PS)
Se il firewall sta bloccando i ping ICMP standard, prova i seguenti metodi di scoperta degli host:
nmap -PS 192.168.1.1nmap -PS 80,21,443 192.168.1.1nmap -PA 192.168.1.1nmap -PA 80,21,200-512 192.168.1.1
Scansiona un host usando il protocollo IP ping
nmap -PO 192.168.1.1
Scansiona un host usando UDP ping
Questo scan bypassa i firewall e i filtri che schermano solo TCP:
nmap -PU 192.168.1.1nmap -PU 2000.2001 192.168.1.1
Trova le porte TCP più comunemente usate usando il TCP SYN Scan
Scansiona un host per i servizi UDP (UDP scan)
La maggior parte dei servizi popolari su Internet gira sul protocollo TCP. DNS, SNMP e DHCP sono tre dei servizi UDP più comuni. Usa la seguente sintassi per scoprire i servizi UDP:
nmap -sU nas03nmap -sU 192.168.1.1
Esiti di esempio:
Scansione del protocollo IP
Questo tipo di scansione ti permette di determinare quali protocolli IP (TCP, ICMP, IGMP, ecc.) sono supportati dalle macchine di destinazione:
nmap -sO 192.168.1.1
Scansiona un firewall per debolezze di sicurezza
I seguenti tipi di scansione sfruttano una sottile falla nel TCP e sono buoni per testare la sicurezza degli attacchi comuni:
Vedi come bloccare i packkets Xmas, syn-floods e altri attacchi conman con iptables.
Scansiona un firewall per frammenti di pacchetti
L’opzione -f fa sì che la scansione richiesta (incluse le scansioni ping) utilizzi piccoli pacchetti IP frammentati. L’idea è quella di dividere l’intestazione TCP su più pacchetti per rendere più difficile ai filtri dei pacchetti, ai sistemi di rilevamento delle intrusioni e ad altre seccature di rilevare ciò che stai facendo.
Cloak una scansione con esche
L’opzione -D fa sembrare all’host remoto che anche l’host o gli host che specifichi come esche stanno scansionando la rete di destinazione. Così il loro IDS potrebbe riportare 5-10 scansioni di porte da indirizzi IP unici, ma non sapranno quale IP li stava scansionando e quali erano innocenti esche:
nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ipnmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5
Scansiona un firewall per lo spoofing degli indirizzi MAC
Come posso salvare l’output in un file di testo?
La sintassi è:
nmap 192.168.1.1 > output.txtnmap -oN /path/to/filename 192.168.1.1nmap -oN output.txt 192.168.1.1
Scansione di server web e pipe in Nikto per la scansione
nmap -p80 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
nmap -p80,443 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
Velocizza nmap
Passa l’opzione -T al comando nmap:nmap -v -sS -A -T4 192.168.2.5
Esiti di esempio:
Non sei un fan degli strumenti a riga di comando namp?
Finora abbiamo visto esempi di comandi Nmap utilizzando le opzioni della riga di comando di Linux e Unix. Tuttavia, non tutti sono super comodi con la CLI. Quindi, possiamo usare l’applicazione GUI chiamata Zenmap, che è il front end/GUI ufficiale del network mapper:
Zenmap è la GUI ufficiale di Nmap Security Scanner. È un’applicazione multipiattaforma (Linux, Windows, Mac OS X, BSD, ecc.) libera e open source che mira a rendere Nmap facile da usare per i principianti, mentre fornisce funzioni avanzate per gli utenti esperti di Nmap. Le scansioni usate frequentemente possono essere salvate come profili per renderle facili da eseguire ripetutamente. Un creatore di comandi permette la creazione interattiva di linee di comando Nmap. I risultati delle scansioni possono essere salvati e visualizzati in seguito. I risultati delle scansioni salvate possono essere confrontati tra loro per vedere come differiscono. I risultati delle scansioni recenti sono memorizzati in un database ricercabile.
Puoi installare zenmap usando il seguente comando apt-get o il comando apt:$ sudo apt-get install zenmap
Sample outputs:
Tiraduci il seguente comando per avviare zenmap:$ sudo zenmap
Sample outputs
Fig.02zenmap in azione
Come posso rilevare e bloccare il port scanning sui server Linux e Unix/BSD?
Prova le seguenti risorse:
- Come usare lo strumento psad per rilevare e bloccare gli attacchi port scan in tempo reale.
- Debian / Ubuntu Linux: Installare e configurare Shoreline Firewall (Shorewall).
- CentOS / Redhat Iptables Firewall Configuration Tutorial.
- Linux: 20 Iptables Examples For New SysAdmins.
- 20 Linux Server Hardening Security Tips.
Conclusion
In questa guida, hai imparato il comando Nmap con molti esempi per Linux e l’uso con vari esempi. Si prega di consultare le seguenti risorse per ulteriori informazioni:
- La home page ufficiale del progetto Nmap qui.
Il comando Nmap ha molte altre opzioni, e si prega di consultare la pagina man o la documentazione per ulteriori informazioni. Quali sono alcuni dei tuoi trucchi preferiti per la riga di comando di Nmap? Condividi i tuoi suggerimenti, trucchi e consigli preferiti nei commenti qui sotto.
🐧 Ricevi gli ultimi tutorial su Linux, Open Source & DevOps via RSS feed o newsletter settimanale via email.
🐧 25 commenti finora… aggiungine uno ↓
Categoria | Lista di comandi Unix e Linux |
---|---|
File Gestione | cat |
Firewall | Alpine Awall – CentOS 8 – OpenSUSE – RHEL 8 – Ubuntu 16.04 – Ubuntu 18.04 – Ubuntu 20.04 |
Utilità di rete | dig – host – ip – nmap |
OpenVPN | CentOS 7 – CentOS 8 – Debian 10 – Debian 8/9 – Ubuntu 18.04 – Ubuntu 20.04 |
Package Manager | apk – apt |
Gestione Processi | bg – chroot – cron – disown – fg – jobs – killall – kill – pidof – pstree – pwdx – time |
Ricerca | grep – whereis – which |
Informazioni utente | gruppi – id – lastcomm – last – lid/libuser-lid – logname – members – users – whoami – who – w |
WireGuard VPN | Alpine – CentOS 8 – Debian 10 – Firewall – Ubuntu 20.04 |