nmap trova tutti i nomi host e gli IP attivi nella LAN


83

Come posso emettere un comando nmap che mi mostra tutti gli indirizzi IP delle macchine vive e i corrispondenti nomi host nella LAN a cui sono connesso? (se questo può essere fatto in un altro modo / strumento, sei sicuramente il benvenuto a rispondere)

Risposte:


90

versioni nmap precedenti alla 5.30BETA1:

nmap -sP 192.168.1.*

versioni nmap più recenti:

nmap -sn 192.168.1.*

Questo mi dà i nomi host insieme agli indirizzi IP e fa il ping solo agli host per scoprirli. Questo ti darà i nomi host solo se lo esegui come root.

EDIT: A partire da Nmap 5.30BETA1 [29-03-2010] -sP è stato sostituito con -snil modo preferito di eseguire scansioni del ping, saltando la scansione delle porte, proprio come indicano i commenti:

In precedenza erano consigliate le opzioni -PN e -sP. Ciò stabilisce una sintassi più regolare per alcune opzioni che disabilitano le fasi di una scansione:

  • -n nessun DNS inverso
  • -Pn nessuna rilevazione host
  • -sn nessuna scansione delle porte

6
+1 con l'avvertenza che questo restituisce solo macchine che rispondono all'ICMP. Qualsiasi macchina che blocchi specificamente l'ICMP non verrà visualizzata
Matt Simmons il

10
@MattSimmons Se nmap viene eseguito come roote gli IP provengono dalla rete locale (il server è membro della sottorete), vengono inviate le richieste ARP. Così sarà rilevare eventuali macchine vivo perché nessuno davvero blocchi ARP pacchetti. Oh, e con le nuove nmapversioni è -sn(anche se -sPfunzionerà anche).
Hubert Kario,

4
Non ricevo alcun nome host con questo comando. Suggerimenti?
daviesgeek,

@daviesgeek Hai provato a eseguirlo come root?
Cheesebaron,

3
@Cheesebaron Ah. Questo è tutto. Suggerirei di aggiungere che, come senza di essa, non mostrerà i nomi host.
daviesgeek,

9
nmap -sP 192.168.1.0/24

Si noti che la risoluzione dei nomi è valida solo come la popolazione di DNS inverso. Si noti inoltre che ciò non consentirà di ottenere sistemi firewall protetti da ping (che praticamente ogni workstation Windows è predefinita).

Se sei locale nei sistemi (cioè nella stessa sottorete) puoi fare qualcosa del genere

for i in `seq 1 254` ; do arping -c 1 192.168.1.$i | grep reply ; done

... ma a volte mi succedono cose strane quando mi avvolgo in un anello. Inoltre devi cercare tu stesso, con qualcosa del genere

dig +short -x $IP

la soluzione arp è lenta ma funziona bene, la soluzione nmap non riesce a trovare tutti gli ip online
elbarna,

5

Puoi scansionare un'intera sottorete, puoi usare anche i caratteri jolly.

nmap 192.168.8.*

o

nmap 192.168.8.1/24

4

NMAP restituirà la "ricerca inversa" dell'indirizzo IP in questione, non può restituire l'indirizzo di ricerca diretta. Oppure indirizzi nel caso di server Web che eseguono hosting virtuale basato sul nome. Nmap non è lo strumento per questo.


2
quale strumento dovrei usare allora?
Saloma,

Non so nulla di ciò che fa questo.
sysadmin1138

2

nmap -sP 192.168.0.0/24 produrrà qualcosa del tipo:

> nmap -sP 192.168.0.0/24

Starting Nmap 4.00 ( http://www.insecure.org/nmap/ ) at 2010-06-22 22:27 CEST
Host 192.168.0.0 appears to be up.
Host 192.168.0.1 appears to be up.
Host abcd.domain.tld (192.168.0.2) appears to be up.
Host def.domain.tld (192.168.0.3) appears to be up.
Host fdsf.domain.tld (192.168.0.4) appears to be up.
Host reht.domain.tld (192.168.0.5) appears to be up.
Host vcxbfd.domain.tld (192.168.0.6) appears to be up.
Host ezqs.domain.tld (192.168.0.7) appears to be up.
Host 192.168.0.8 appears to be up.
Host ilolio.domain.tld (192.168.0.9) appears to be up.
Host ipbd.domain.tld (192.168.0.10) appears to be up.
Host cdekf.domain.tld (192.168.0.11) appears to be up.
Host 192.168.0.12 appears to be up.
Host 192.168.0.13 appears to be up.
Host 192.168.0.14 appears to be up.
Host 192.168.0.15 appears to be up.
Host ainv.domain.tld (192.168.0.16) appears to be up.
Host 192.168.0.17 appears to be up.
Host 192.168.0.18 appears to be up.
Host wzdkz.domain.tld (192.168.0.19) appears to be up.
[…]
Nmap finished: 256 IP addresses (256 hosts up) scanned in 7.491 seconds

1
come posso imparare il nome della macchina? ottengo i nomi host come segue: dhcp-186-241.abc.dk dhcp-186-250.abc.dk .... per esempio quando hostnameemetto sul terminale Ubuntu ottengo: infestor-pcma nmap mostra il mio nome host come dhcp-186-250.abc.dk. c'è un modo per vedere il nome host "amichevole"?
Saloma,

No, l'unico modo sarebbe quello di registrare il nome del computer nel DNS
raggio


0

Il modo migliore e più veloce per eseguire il ping di tutti gli Ips nella rete locale è disabilitare la risoluzione inversa DNS

Uso :
NMAP -sn 192.168.1.1-255

questo eseguirà la scansione di tutti i 255 host nell'intervallo IP 192.168.1.1 - 192.168.1.255

Se si desidera un file facilmente analizzabile

Uso :
NMAP -sn -oG Name.txt 192.168.1.1-255


0

se questo può essere fatto in un altro modo / strumento, sei sicuramente il benvenuto a rispondere

Puoi semplicemente usare il arpcomando in questo modo:

$ arp -a

-1

Penso che dovresti eseguire questo:

sudo nmap -sU --script nbstat.nse -p137 10.10.10.*

Ciò non aggiunge nulla rispetto alle risposte esistenti e inoltre troverà solo host Windows con la condivisione abilitata. Certamente più specifico di quello che l'OP voleva.
Scott Pack

Funzionerà comunque con la condivisione di rete disabilitata. Richiede solo Network Discovery abilitato, che è l'impostazione predefinita per le reti private.
John Homer,

-1

Prova questo: Esempio Intervallo IP: 10.1.0.0 - 10.1.255.255

nmap -sV -T4 -O 10.1.*.*
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.