Questo è il modo più semplice per eseguire discovery host con nmap.
nmap -sP 192.168.2.1/24
Perché non funziona sempre?
Quando questo comando esegue nmap tenta di eseguire il ping dell'intervallo di indirizzi IP specificato per verificare se gli host sono vivi. Se il ping fallisce, tenta di inviare pacchetti syn alla porta 80 (scansione SYN). Questo non è affidabile al cento per cento perché i moderni firewall basati su host bloccano il ping e la porta 80. Il firewall di Windows blocca il ping di default. Gli host presenti sulla rete stanno bloccando il ping e la porta 80 non accetta le connessioni. Quindi nmap presuppone che l'host non sia attivo.
Quindi c'è una soluzione a questo problema?
Sì. Una delle opzioni che si sta utilizzando è l'opzione -P0 che salta il processo di individuazione degli host e tenta di eseguire una scansione delle porte su tutti gli indirizzi IP (in questo caso verranno scansionati anche gli indirizzi IP liberi). Ovviamente ci vorrà molto tempo per completare la scansione anche se ci si trova in una piccola rete (20-50 host). ma ti darà i risultati.
L'opzione migliore sarebbe quella di specificare le porte personalizzate per la scansione. Nmap consente di sondare porte specifiche con pacchetti SYN / UDP. Si consiglia in genere di sondare le porte comunemente usate, ad es. TCP-22 (ssh) o TCP-3389 (desktop remoto di Windows) o UDP-161 (SNMP).
sudo nmap -sP -PS22,3389 192.168.2.1/24 #custom TCP SYN scan
sudo nmap -sP -PU161 192.168.2.1/24 #custom UDP scan
NB. anche dopo aver specificato le porte personalizzate per la scansione potresti non ottenere un host attivo. Molto dipende da come è configurato l'host e da quali servizi sta utilizzando. Quindi continua a sondare con combinazioni diverse. Ricorda, non eseguire scansioni su una rete senza autorizzazione appropriata.
aggiornamento : quando esegui la scansione di una rete non puoi mai essere sicuro che un particolare comando ti darà tutti i risultati desiderati. L'approccio dovrebbe essere quello di iniziare con il ping ping di base e se non funziona provare a indovinare le applicazioni che potrebbero essere in esecuzione sugli host e sondare le porte corrispondenti. Anche l'idea di usare Wireshark è interessante. Potresti provare a inviare pacchetti ACK.
nmap -sP -PA21,22,25,3389 192.168.2.1/24 #21 is used by ftp
update two: flag -sP e -P0 sono ora noti come -sn e -Pn rispettivamente. Tuttavia, i vecchi flag continuano a funzionare nelle versioni più recenti.