Questo è il modo più semplice per eseguire la scoperta dell'host con nmap.
nmap -sP 192.168.2.1/24
Perché non funziona sempre?
Quando questo comando viene eseguito, nmap cerca di eseguire il ping dell'intervallo di indirizzi IP specificato per verificare se gli host sono attivi. Se il ping non riesce, prova a inviare pacchetti di sincronizzazione 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 per impostazione predefinita. Gli host presenti sulla rete bloccano il ping e la porta 80 non accetta connessioni. Quindi nmap presume che l'host non sia attivo.
Quindi esiste una soluzione alternativa a questo problema?
Sì. Una delle opzioni che hai è usare il flag -P0 che salta il processo di rilevamento dell'host e prova a eseguire una scansione delle porte su tutti gli indirizzi IP (in questo caso verranno scansionati anche gli indirizzi IP vuoti). Ovviamente questo richiederà molto tempo per completare la scansione anche se ti trovi in una rete piccola (20-50 host). ma ti darà i risultati.
L'opzione migliore sarebbe quella di specificare porte personalizzate per la scansione. Nmap ti permette di sondare porte specifiche con pacchetti SYN / UDP. Si consiglia generalmente di sondare le porte di uso comune, 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 scansudo 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 dai servizi che utilizza. Quindi devi solo continuare a sondare con diverse combinazioni. Ricorda, non eseguire scansioni su una rete senza la corretta autorizzazione.
aggiornamento : durante 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 sweep di base e se non funziona prova a indovinare le applicazioni che potrebbero essere in esecuzione sugli host e sondare le porte corrispondenti. Anche l'idea di utilizzare Wireshark è interessante. Puoi provare a inviare pacchetti ACK.
nmap -sP -PA21,22,25,3389 192.168.2.1/24 # 21 è usato da ftp
aggiorna due: i flag -sP e -P0 sono ora noti rispettivamente come -sn e -Pn. Tuttavia, i flag più vecchi continuano a funzionare nelle versioni più recenti.