Sto cercando di trovare gli host live sulla mia rete usando nmap. Sto scansionando la rete in Ubuntu usando il comando sudo nmap -sP 192.168.2.1/24
. Tuttavia, non sono in grado di trovare gli host live. Ottengo solo l'indirizzo di rete del mio PC come live. Quando vedo l'elenco dei client DHCP attraverso il mio browser (il mio router può essere raggiunto via browser usando il mio IP di rete), ottengo circa 10 host live sulla rete. Qualcuno può dirmi il motivo per cui questo potrebbe accadere e come faccio a trovare gli host live sulla mia rete?
Questo è il modo più semplice di eseguire host discovery con nmap.
nmap -sP 192.168.2.1/24
Perché non funziona sempre?
Quando questo comando viene eseguito, nmap prova a fare un ping all'intervallo di indirizzi IP dato per controllare se gli host sono vivi. Se il ping fallisce cerca di inviare pacchetti syn alla porta 80 (SYN scan). 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 che avete in rete stanno bloccando il ping e la porta 80 non accetta connessioni. Quindi nmap presume che l'host non sia attivo.
**Quindi c'è una soluzione a questo problema?
Sì. Una delle opzioni che hai è usare il flag -P0 che salta il processo di host discovery e cerca di eseguire un port scan su tutti gli indirizzi IP (In questo caso anche gli indirizzi IP vacanti saranno scansionati). Ovviamente questo richiederà una grande quantità di tempo per completare la scansione anche se siete in una piccola (20-50 host) rete. ma vi darà i risultati.
L'opzione migliore sarebbe quella di specificare porte personalizzate per la scansione. Nmap permette di sondare porte specifiche con pacchetti SYN/UDP. E' generalmente raccomandato sondare le porte comunemente usate, per esempio TCP-22 (ssh) o TCP-3389 (windows remote desktop) 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
N.B. anche dopo aver specificato porte personalizzate per la scansione potresti non ottenere un host attivo. Molto dipende da come l'host è configurato e quali servizi sta usando. Quindi devi solo continuare a sondare con diverse combinazioni.Ricorda, non eseguire scansioni su una rete senza un'adeguata autorizzazione.
aggiornamento: Quando si scansiona una rete non si può mai essere sicuri che un particolare comando vi darà tutti i risultati desiderati. L'approccio dovrebbe essere quello di iniziare con ping sweep di base e se non funziona provare a indovinare le applicazioni che possono essere in esecuzione sugli host e sondare le porte corrispondenti. Anche l'idea di usare Wireshark è interessante. Si potrebbe provare a inviare pacchetti ACK.
nmap -sP -PA21,22,25,3389 192.168.2.1/24 #21 is used by ftp
aggiornamento due: I flag -sP e -P0 sono ora conosciuti rispettivamente come -sn e -Pn. Tuttavia le vecchie bandiere risultano ancora funzionanti nelle nuove versioni.
Potresti voler controllare Wireshark. Registra tutto il traffico sulla rete locale. Ti dirà quali nodi stanno trasmettendo. Si può anche vedere cosa viene trasmesso. E' disponibile nell'Ubuntu Software Center.
Inoltre ecco un link su installare Wireshark su Ubuntu tramite linea di comando.
Per quanto riguarda il traffico che mostra nelle vostre tabelle di routing DHCP ricordate che un sacco di macchine virtuali apparirà come macchine separate nella lista. Tutto ciò che è collegato alla vostra rete di solito entro il tempo di locazione predefinito di 24 ore (per la maggior parte dei router WiFi) apparirà ancora nella lista. Potresti voler controllare la durata dei lease nel router. Potrebbe dirti se qualcuno è sulla tua rete durante la notte. Su alcuni dispositivi che hanno una doppia NIC o una NIC e una scheda wireless, questi appariranno due volte se entrambe le interfacce sono abilitate.
Altre cose che molte persone dimenticano di essere in rete:
Circa 6 anni fa nell'ufficio in cui lavoravo la nostra piccola connessione a 3mb era scesa a 128k a causa di tutto il traffico in eccesso. I proprietari volevano sapere se era possibile vedere cosa stava succedendo. Il vecchio informatico part-time scrollò le spalle perché non tutto il traffico passava attraverso il loro server Windows 2000. Controllò le tabelle di routing e i log del traffico nel server e non vide nulla. Stranamente non stavano usando un router, quindi qualsiasi cosa sulla rete poteva ottenere un indirizzo dal modem. Le tabelle di routing che ha guardato nel server erano solo per le mappature statiche che esistevano un paio di anni prima. Ho notato che non erano sulla stessa subnet. Poi gli ho mostrato che il DHCP non era attivo nel server.
Ho trovato tutto il traffico che arrivava dopo l'orario di lavoro in una perlustrazione notturna con Wireshark. Uno dei miei colleghi stava inconsapevolmente ospitando un sito di sesso giapponese sulla sua macchina. Gli aggressori avevano rootato la sua macchina dopo aver installato una backdoor che era arrivata con una versione craccata di un software di editing video di fascia alta. Abbiamo anche scoperto che stavano eseguendo Tor
, demonoid
, e bitTorrent
su varie macchine in diversi dipartimenti in momenti diversi. Wireshark ha trovato tutto. Il giorno dopo internet era a piena velocità... abbiamo anche installato un router.
Se non sei pronto per Wireshark potresti anche provare tcpdump
.