Domanda:
Come trovare host live sulla mia rete?
TheRookierLearner
2013-05-19 23:03:08 UTC
view on stackexchange narkive permalink

Sto cercando di trovare gli host live sulla mia rete utilizzando nmap. Sto scansionando la rete in Ubuntu usando il comando sudo nmap -sP 192.168.2.1/24 . Tuttavia, non riesco a trovare gli host dal vivo. Ho appena ricevuto l'indirizzo di rete del mio PC come live. Quando vedo l'elenco dei client DHCP tramite il browser (è possibile accedere al router tramite il browser utilizzando 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?

Di solito faccio questo `nmap -sn 192.168.2.0 / 24`, sn = disabilita la scansione delle porte.
@HamZaDzCyberDeV Sì, `-sn` è il nuovo argomento standard, ma era` -sP`, quindi il comando @TheRookierLearner's dovrebbe ancora funzionare.
`-sn` è uguale a` -sP`, come menzionato qui: https://github.com/nmap/nmap/blob/master/docs/nmap.1#L402
`nmap -PR 10.0.1.0/24 -sn` eseguirà uno sweep ARP della rete. [Il sito web di NMAP] (http://nmap.org/book/man-host-discovery.html) contiene informazioni dettagliate sulla scoperta di host nmap. Consiglio vivamente di usarlo come riferimento.
@NadeemDouba `nmap` rileverà automaticamente quando è su una LAN e sceglierà uno sweep ARP per le sue sonde.Questo sarà il caso anche se l'utente specifica diversi tipi di probe come `-PE` o` -PS`.In altre parole, `-PR` non è necessario se l'OP è effettivamente sulla LAN.
Voglio solo notare che l'esecuzione di nmap senza `sudo` può dare meno risultati del previsto, vedere https://security.stackexchange.com/q/74493/124138.
Otto risposte:
Shurmajee
2013-05-19 23:44:06 UTC
view on stackexchange narkive permalink

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.

Anche se credo che ciò sia dovuto al firewall che blocca le scansioni ping, i comandi precedenti non hanno aiutato. Anche il flag -P0 non ha funzionato.
Non so davvero cosa sta succedendo, ma il comando `nmap -sP -PS 192.168.2.1 / 24` funziona (funziona anche il comando precedente; quindi risposta accettata) e anche sotto Windows. Non so cosa c'è che non va in Ubuntu. Potrebbe essere necessario controllare "iptables".
una cosa che vale la pena notare è che quando ti trovi nello stesso dominio di trasmissione degli host che stai scansionando, nmap usa ARP invece della scansione ICMP / SYN
`-P0` ** non **" prova a scansionare tutte le porte di un sistema per verificare se è attivo. " Invece, ** salta la scoperta dell'host **, riportando * tutto * come attivo ed eseguendo qualsiasi scansione delle porte richiesta su ogni IP. Inoltre, come nota @RoryMcCune, Nmap dovrebbe inviare richieste ARP per questo tipo di scansione. Usa `nmap --iflist` per controllare cosa pensa Nmap della tua tabella di routing; è possibile che sia confuso e non invii le sonde giuste. Se non puoi ottenere una risposta ARP da un IP, non puoi nemmeno inviare un pacchetto TCP o UDP.
Immagino che ciò che intendeva @Mayank-Sharma non fosse `-P0` ma` -PO` che invia pacchetti IGMP, ICMP e IP-in-IP e non scansiona tutte le porte. Tuttavia, non ne sono sicuro.
Mie scuse. Ho sbagliato a formulare la frase. Ho aggiornato la risposta come suggerito da @bonsaiviking
@TheRookierLearner Questo tipo di confusione è il motivo per cui `-P0` è stato deprecato perché` -Pn` significava la stessa cosa.
Questa risposta ha alcuni errori ... ad esempio, questo: `Se il ping fallisce, prova a inviare pacchetti di sincronizzazione alla porta 80 (SYN scan)`.Non funziona come uno dopo l'altro, e invia anche un "ACK" non un "SYN".Questi sono * molto diversi *, specialmente in termini di firewall e sistemi IDS.
Teun Vink
2013-05-20 01:31:56 UTC
view on stackexchange narkive permalink

Il modo più semplice per verificarlo è verificare le tabelle ARP dopo aver eseguito lo sweep del ping utilizzando nmap:

  arp -a -n  

Questo elenca tutti gli host che hanno risposto a una query ARP, anche quelli che filtrano ICMP.

I risultati di questo comando varieranno a seconda delle voci ARP attualmente esistenti.
Questo comando mi ottiene 5 record sulla mia rete locale quando ho 16 nodi aperti.
Hai fatto un ping sweep usando nmap prima di controllare le tue tabelle arp? In caso contrario, potrebbero mancare gli host. Ogni nodo nella rete dovrebbe almeno rispondere a una richiesta ARP quando si genera traffico verso di esso facendo il ping sweep.
Dispositivi come Tivo non rispondono ai ping. Dispositivi come ipad, iphone e ipod potrebbero non rispondere a un ping sweep se i loro schermi sono bloccati. Inoltre, i dispositivi che eseguono qualcosa di diverso da TCP / IP non rispondono a un ping sweep. Wireshark continuerà a mostrare il traffico (come IPX). Inoltre verranno visualizzate anche diverse sottoreti.
Prova a usare Caino e Abele su Windows e usa gli strumenti ARP lì ...
@AbsoluteƵERØ Anche se i dispositivi non rispondono all'effettivo ping sweep, se si trovano sulla stessa LAN del dispositivo nmapping, dovrebbero rispondere alla richiesta arp iniziale.
Nmap utilizza già questo metodo per eseguire il "ping" di sweep del segmento di rete locale di trasmissione. Esegui con privilegi di root e usa `-v` per un output dettagliato, e vedrai" Avvio della scansione ping ARP ". http://nmap.org/book/man-host-discovery.html
Se hai un dispositivo che non risponde a una richiesta arp, sei semplicemente sfortunato. L'unico modo per rilevare un dispositivo che non risponde alla richiesta arp, è ascoltare il traffico sul gateway.
AbsoluteƵERØ
2013-05-20 01:57:29 UTC
view on stackexchange narkive permalink

Anche Wireshark è fantastico.

Potresti dare un'occhiata a Wireshark. Registra tutto il traffico sulla rete locale. Ti dirà quali nodi stanno trasmettendo. Puoi anche vedere cosa viene trasmesso. È disponibile nell'Ubuntu Software Center.

Inoltre, ecco un link su installazione di Wireshark su Ubuntu tramite riga di comando.

Per quanto riguarda il traffico che mostra in le tabelle di routing DHCP ricordano che molte macchine virtuali verranno visualizzate come macchine separate nell'elenco. Tutto ciò che è connesso alla tua rete di solito entro il tempo di noleggio predefinito di 24 ore (per la maggior parte dei router WiFi) verrà comunque visualizzato nell'elenco. Potresti voler controllare la durata dei leasing nel router. Potrebbe dirti se qualcuno è sulla tua rete durante la notte. Su alcuni dispositivi che hanno due NIC o una NIC e una scheda wireless verranno visualizzati due volte se entrambe le interfacce sono abilitate.

Altre cose che molte persone dimenticano di essere sulla rete:

  • Switch gestiti
  • Alcune stampanti
  • Schede di gestione remota del server
  • Cellulari
  • Tivo e altri DVR
  • Apple TV
  • Alcuni televisori
  • Lettori DVD
  • Ricevitori A / V di rete
  • Playstation, XBox, ecc. .
  • Dispositivi di gioco portatili
  • Ipad e altri tablet
  • Ipod e lettori musicali
  • PDA
  • Telefoni IP come Magic Jack Plus

Circa 6 anni fa in ufficio stavo lavorando, la nostra piccola connessione da 3 MB 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 ha alzato le spalle perché non tutto il traffico passava attraverso il loro server Windows 2000. Ha controllato le tabelle di instradamento e i registri di traffico nel server e non ha visto nulla. Non stavano usando un router abbastanza stranamente, quindi qualsiasi cosa sulla rete potrebbe ottenere un indirizzo dal modem. Le tabelle di routing che ha esaminato nel server erano solo per mappature statiche che esistevano un paio di anni prima. Ho notato che non erano sulla stessa sottorete. Poi ho mostrato loro che il DHCP non era attivo nel server.

Ho trovato tutto il traffico in arrivo dopo l'orario di lavoro durante una scansione notturna con Wireshark. Uno dei miei colleghi stava inconsapevolmente ospitando un sito di sesso giapponese sulla sua macchina. Gli aggressori avevano effettuato il root della sua macchina dopo aver installato una backdoor fornita con una versione crackata di un software di editing video di fascia alta. Abbiamo anche scoperto che eseguivano Tor , demonoid e bitTorrent su varie macchine in diversi reparti 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 provare anche tcpdump .

Anche se sono certamente d'accordo che WireShark è uno strumento fantastico, è tutt'altro che la scelta migliore per risolvere questo caso, soprattutto se c'è una notevole quantità di traffico è difficile trovare tutti gli host unici.
@TeunVink Una nota sulla ricerca di host unici. http://ask.wireshark.org/questions/4827/determining-unique-mac-and-ip-addresses-in-a-pcap
@AbsoluteƵERØ - È stato davvero un input molto prezioso. In realtà ho usato Wireshark per verificare se i pacchetti che nmap stava cercando di inviare stavano raggiungendo la rete o erano bloccati da Windows Firewall. Si scopre che non erano bloccati su Windows. Devo provare su Ubuntu però.
→ Teun: `wirehark` potrebbe sembrare uno strumento pesante a prima vista. Ma tutto sommato, per ottenere una rete completa `audit` tramite` nmap` richiederà anche ** molte ** esecuzioni: con porte diverse, in momenti diversi della giornata, con protocolli diversi ...
posso ottenere un collegamento a questo sito di sesso giapponese, a scopo di ricerca?
Ricky Wilson
2015-07-27 16:46:21 UTC
view on stackexchange narkive permalink

Questo script bash produrrà gli indirizzi IP di tutti gli host live su una rete.

  #! / bin / bashnmap $ 1 -n -sP | rapporto grep | awk '{print $ 5}'  

Esempio di utilizzo

  rwilson @ rwilson-Aspire-E5-521: ~ / Scripts / Utils $ Mon Jul 27 06 : 41 AM> ./livehosts.sh 192.168.1.1/24192.168.1.1192.168.1.11192.168.1.12192.168.1.13192.168.1.14192.168.1.15192.168.1.118192.168.1.122192.168.1.123192.168.1.126192.168.1. 1.134192.168.1.156192.168.1.159192.168.1.168192.168.1.170  
In che modo è diverso da ciò che ha già fatto l'OP? Sembra che tutto ciò che hai fatto sia aggiungere grep e awk per semplificare l'output.
slayer
2018-10-25 19:25:41 UTC
view on stackexchange narkive permalink

Una volta che hai i privilegi di amministratore (cioè, root ), puoi usare netdiscover (8) con il flag -r per specificare una classe diversa e maschera. Utilizza la classe di rete C / 24 per impostazione predefinita.

Ad esempio:

  $ sudo netdiscover -r 172.16.17.0/24

L'output sarà qualcosa del genere:

  Scansione in corso: terminata! | Visualizzazione schermo: host unici 3 pacchetti ARP Req / Rep acquisiti, da 3 host. Dimensione totale: 180 _____________________________________________________________________________ Conteggio indirizzo IP MAC Vendor / nome host MAC ----------------------------------- ------------------------------------------ 172.16.17.1 00:50:56 : c0: 00: 08 1 60 VMware, Inc. 172.16.17.2 00: 50: 56: f9: b9: b6 1 60 VMware, Inc. 172.16.17.254 00: 50: 56: fc: e4: 76 1 60 VMware, Inc.  
PraveenMax
2017-05-18 22:58:34 UTC
view on stackexchange narkive permalink

A volte arp -a -n non recupera l'indirizzo ip. L'esecuzione di nmap -sP 192.168.1.1/24 recupererà gli host live e successivamente se provi arp di nuovo, mostrerà gli host dal vivo. È così che ha funzionato per me in Linux Mint. Ma puoi fare affidamento su nmap ogni giorno.

rocket
2018-10-25 17:44:44 UTC
view on stackexchange narkive permalink

Esempio per trovare host su una rete:

  arp-scan 192.168.12.0/24 # se l'interfaccia con tag vlan usa -Q vlanid  

etherape (GUI) mostra grafici dell'attività di rete.

Alcuni altri strumenti sono stati menzionati anche qui.

Sulla base dei miei test in LAN, `arp-scan` è più veloce di` netdiscover` e `nmap -sn` per la scoperta dell'host
ccpizza
2019-04-24 20:07:28 UTC
view on stackexchange narkive permalink

Se hai bisogno anche del fingerprinting dell'host e non ti dispiace utilizzare uno strumento gratuito ma chiuso, allora fing è un'altra opzione:

  sudo fing -r 1  

Rispetto a nmap 192.168.1.1/24 -n -sP è significativamente più veloce e lo farà anche provare a rilevare i produttori di dispositivi dagli indirizzi MAC.

Dichiarazione di non responsabilità: non ho alcuna affiliazione con lo strumento o la società che lo produce e non ho idea di quali altre cose (malvagie o meno ) lo strumento potrebbe fare sotto il cofano. Ho utilizzato le loro app mobili per trovare gli IP sulla mia LAN e l'ho trovato utile.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...