Ho tre idee per te. Tutti hanno la loro parte di complessità e puoi mescolarli come meglio credi. Il primo è probabilmente il più semplice, ma il meno robusto (da solo).
1. Rilevazione MAC passiva
Il modo standard sarebbe quello di tenere traccia degli indirizzi MAC che richiedono indirizzi DHCP dal router. La maggior parte dei router offre una schermata in stile "Dispositivi collegati" che ti dirà chi si sta connettendo.
Questo non è automatico, ma potresti (abbastanza facilmente) scrivere script su Bash / Python per abbattere la pagina del router, analizzare gli indirizzi MAC e confrontarli con un elenco di indirizzi MAC noti / consentiti.
Il problema qui è che nulla è istantaneo. Ti affidi al router per aggiornare la sua pagina e devi scriverlo frequentemente. Ad alcuni router non piacerà. Ho un router Edimax scadente che si arresta in modo anomalo se carichi più di 10 pagine in un minuto (patetico!), Quindi potrebbe non funzionare.
Gli indirizzi MAC sono anche dolorosamente falsificabili. macchanger
ad esempio, ti permetterà di falsificare il tuo indirizzo MAC in un solo comando. Penso che anche Network Manager ti lascerà fare. Se qualcuno non vuole essere rilevato, controllerà il traffico di rete e falsificherà uno dei dispositivi (noti) validi.
2. Sniffing attivo
Qui è dove strappiamo le ruote e scaviamo. Avrai bisogno di qualcosa di wireless in un posto che possa intercettare il traffico da / verso il router (idealmente abbastanza vicino ad esso).
In breve, ti colleghi airodump-ng
e guardi le persone connesse alla tua rete. Dovrebbe essere possibile eseguire lo scripting di questo output in modo che quando un nuovo dispositivo si presenta e inizia a utilizzare la rete, è possibile fare immediatamente qualcosa .
L'idea sarebbe di eseguirlo all'avvio (come root):
airmon-ng start wlan0
airodump-ng --bssid 00:1F:9F:14:6F:EB -w output --output-format csv mon0
Sostituisci il BSSID con il tuo punto di accesso.
Questo scrive un file auto-incrementante che può essere analizzato su base regolare. La versione precedente scrive un file di valori separato da virgole che è abbastanza semplice ma se sei soddisfatto di XML (Python può renderlo abbastanza semplice) potresti voler esaminare il netxml
formato di output di airodump.
Ad ogni modo, questo ti dà informazioni regolari su quali dispositivi stanno usando la rete (e anche su quanto traffico stanno inviando). È ancora fallibile come usare la tabella ARP del router, ma è attivo.
Mentre sei in modalità promiscua, se il tuo script raccoglie un client che pensa non dovrebbe essere sulla rete, puoi usare tcpdump
per trascinare i pacchetti e registrare gli scambi di interessi (richieste HTTP, ecc.). È più programmazione ma può essere fatto.
3. Impronta digitale con nmap
Un altro metodo è di spazzare la rete per i client con nmap
. Normalmente, potresti pensare, questo non ti aiuterebbe troppo, se qualcuno sta bloccando i ping, potrebbe non apparire.
Ti suggerisco di usarlo insieme ad uno degli altri due metodi. 1
ti darà l'indirizzo IP in modo da poter nmap direttamente. 2
non ti darà un IP ma ti farà sapere quanti clienti nmap
dovrebbero aspettarsi di trovare, in quel preciso momento. Assicurati che tutti i tuoi dispositivi siano pingabili.
Quando nmap
viene eseguito (ad es. sudo nmap -O 192.168.1.1/24
) Proverà a trovare host e quindi eseguirà una scansione delle porte su di essi per capire quali sono. L'elenco di controllo dovrebbe includere il modo in cui ciascuno dei tuoi dispositivi dovrebbe rispondere nmap
.
Se vuoi andare oltre, puoi eseguire un semplice server su ciascuno dei tuoi computer. Solo qualcosa che ha accettato una connessione e poi l'ha rilasciata. In breve: qualcosa nmap
da cercare. Se lo trova aperto, probabilmente è il tuo computer.
4. Proteggi meglio la tua rete
Dovresti effettivamente farlo prima se sei preoccupato. Usa WPA2 / AES. Non usare mai WEP (crepe in circa cinque minuti).
Se sei ancora preoccupato, qualcuno potrebbe scoprire la chiave (WPA2 richiede molti dati e tempo di elaborazione per decifrare), passa a un modello RADIUS. È un framework di autenticazione che imposta una chiave unica per ciascun utente. PITA da installare però.
Ma quale fare ..?
Se non fossi contento delle cose, probabilmente guarderei manualmente l'airodump. Se non fossi ancora felice, inizierei a imprimere le cose che ho visto. Un po 'difficile (per nulla impossibile) da scrivere.
Il modo più semplice per eseguire lo script sarà il raschiamento del router con l'impronta digitale da nmap
. Breve e semplice