Risposte:
Quanto sai della LAN in questione? Suppongo che tu non sappia niente solo collegato al cavo o connesso al wifi.
-sP
nel caso in cui alcuni host non rispondano al ping (consulta la documentazione ). È importante che nmap funzioni solo se le impostazioni e i percorsi di rete sono corretti.Ad alcuni (la maggior parte?) Amministratori di sistema non piacciono alcuni dei metodi sopra indicati, quindi assicurati che sia consentito (ad esempio è la tua rete). Si noti inoltre che il proprio firewall può impedire alcuni di questi metodi (anche ottenere un IP con DHCP), quindi controllare prima le regole.
Nmap
Ecco come eseguire il rilevamento dell'host di base con nmap . Come ho detto, la tua configurazione di rete dovrebbe essere corretta quando provi questo. Supponiamo che tu sia 192.168.0.50 in una sottorete / 24. Il tuo indirizzo MAC è qualcosa a cui è consentito connettersi, ecc. Mi piace avere WireShark in esecuzione per vedere cosa sto facendo.
Innanzitutto mi piace provare la scansione dell'elenco, che tenta solo di risolvere i record PTR in DNS per gli indirizzi IP specificati. Non invia nulla agli host, quindi non vi è alcuna garanzia che sia realmente connesso o acceso, ma ci sono buone possibilità. Questa modalità ha ovviamente bisogno di un server DNS che sia disposto a parlare con te.
nmap -vvv -sn -sL 192.168.1.0/16
Questo potrebbe non trovare nulla o potrebbe dirti che ogni singolo IP è attivo.
Quindi di solito vado per la scansione ARP. Invia richieste ARP (le vedi come "Who has <target IP>? Tell <your IP>"
in WireShark). Ciò è abbastanza affidabile poiché nessuno filtra o falsifica l'ARP. Lo svantaggio principale è che funziona solo sulla tua sottorete.
nmap -vvv -sn -PR 192.168.1.0/24
Se si desidera eseguire la scansione di qualcosa dietro router o firewall, utilizzare le scansioni SYN e ACK. SYN avvia una connessione TCP e si ottiene un RST o un SYNACK in risposta. Ad ogni modo l'host è attivo. È possibile che la comunicazione ICMP sia vietata o qualcosa del genere se è presente un firewall. Il più delle volte se un firewall ha filtrato i tuoi pacchetti non otterrai nulla. Alcuni tipi di firewall filtrano solo i pacchetti TCP SYN e lasciano passare tutti gli altri pacchetti TCP. Ecco perché la scansione ACK è utile. Riceverai RST in risposta se l'host è attivo. Dato che non sai quale firewall è attivo, prova entrambi.
nmap -vvv -sn -PS 10.1.2.0/24
nmap -vvv -sn -PA 10.1.2.0/24
Quindi ovviamente puoi usare le scansioni basate su ICMP con -PE -PP -PM.
Un altro metodo interessante è -PO con un numero di protocollo inesistente. Spesso solo i protocolli TCP e UDP vengono considerati sui firewall e nessuno verifica cosa succede quando si prova un protocollo sconosciuto. Ottieni un protocollo ICMP irraggiungibile se l'host è attivo.
nmap -vvv -sn -PO160 10.1.2.0/24
Puoi anche dire a nmap di saltare il rilevamento dell'host (-Pn) ed eseguire un portcan su ogni host. Questo è molto lento ma potresti trovare altri host che il rilevamento degli host ha perso per qualche motivo.
Mi piace il ip neigh
comando fornito con IpRoute2.
ip neigh
192.168.1.1 dev eth0 lladdr 00:1d:7e:f8:21:66 REACHABLE
Tuttavia, penso che funzioni solo con arp
nodi -able.
man ip
mostra cosa fa il vicino di casa.
Installa nmap ed esegui nmap -sP <mynetwork>
.
Nmap done: 1 IP address (1 host up) scanned in 0.01 seconds
.
nmap -sP 192.168.0.*
e ha restituito un elenco di output del modulo:Nmap scan report for justin-desktop2 (192.168.0.61)
Host is up (0.00056s latency).
Host 192.168.2.23 is up (0.0088s latency).
.
Per entrambe le risposte: NESSUN nmap richiesto / NESSUN sudo richiesto .
$ arp
Basandosi sugli xenoterracidi rispondete con ip neigh
e hosts
:
#!/usr/bin/env python
"""List all hosts with their IP adress of the current network."""
import os
out = os.popen('ip neigh').read().splitlines()
for i, line in enumerate(out, start=1):
ip = line.split(' ')[0]
h = os.popen('host {}'.format(ip)).read()
hostname = h.split(' ')[-1]
print("{:>3}: {} ({})".format(i, hostname.strip(), ip))
Scarica tramite
wget https://gist.githubusercontent.com/MartinThoma/699ae445b8a08b5afd16f7d6f5e5d0f8/raw/577fc32b57a7f9e66fdc9be60e7e498bbec7951a/neighbors.py