Ich habe drei Ideen für Sie. Sie sind alle sehr komplex und können beliebig kombiniert werden. Der erste ist wahrscheinlich der einfachste, aber am wenigsten robuste (für sich allein).
1. Passive MAC-Erkennung
Die Standardmethode besteht darin, die MAC-Adressen zu verfolgen, die DHCP-Adressen vom Router anfordern. Die meisten Router bieten einen Bildschirm im Stil "Attached Devices" (Angeschlossene Geräte), der angibt, wer eine Verbindung herstellt.
Dies ist nicht automatisch, aber Sie können (ziemlich einfach) Bash / Python-Skripte erstellen, um die Routerseite nach unten zu ziehen, die MAC-Adressen zu analysieren und sie mit einer Liste bekannter / zulässiger MAC-Adressen zu vergleichen.
Das Problem hier ist nichts ist sofortig. Sie verlassen sich darauf, dass der Router seine Seite aktualisiert, und müssen dies häufig abrufen. Einige Router mögen das nicht. Ich habe einen beschissenen Edimax-Router, der abstürzt, wenn Sie mehr als 10 Seiten in einer Minute laden (erbärmlich!), Sodass dies möglicherweise nicht funktioniert.
MAC-Adressen sind auch kläglich fälschbar. macchanger
Beispielsweise können Sie Ihre MAC-Adresse mit einem Befehl fälschen. Ich denke, sogar Network Manager lässt Sie das tun. Wenn jemand nicht erkannt werden möchte, überwacht er den Netzwerkverkehr und fälscht eines der gültigen (bekannten) Geräte.
2. Aktives Schnüffeln
Hier reißen wir die Räder ab und graben ein. An einem Ort, an dem der Verkehr zum / vom Router abgefangen werden kann (im Idealfall ganz in der Nähe), benötigen Sie ein Ersatz-WLAN.
Kurz gesagt, Sie schließen sich an airodump-ng
und beobachten Personen, die mit Ihrem Netzwerk verbunden sind. Es sollte möglich sein, diese Ausgabe mit einem Skript zu versehen, damit Sie sofort etwas tun können, wenn ein neues Gerät angezeigt wird und Ihr Netzwerk verwendet .
Die Idee wäre, dass Sie dies beim Booten ausführen (als root):
airmon-ng start wlan0
airodump-ng --bssid 00:1F:9F:14:6F:EB -w output --output-format csv mon0
Ersetzen Sie die BSSID durch die Ihrer Access Points.
Dadurch wird eine automatisch inkrementierende Datei geschrieben, die regelmäßig analysiert werden kann. Die obige Version schreibt eine durch Kommas getrennte netxml
Wertedatei, die recht einfach ist. Wenn Sie jedoch mit XML zufrieden sind (Python kann es recht einfach machen), sollten Sie sich das Ausgabeformat für Airodump ansehen.
Auf diese Weise erhalten Sie regelmäßig Informationen darüber, welche Geräte das Netzwerk verwenden (und wie viel Datenverkehr sie auch senden). Es ist immer noch genauso fehlbar wie die Verwendung der ARP-Tabelle des Routers, aber es ist live.
Während Sie sich im Promiscuous-Modus befinden, können Sie, wenn Ihr Skript einen Client abholt, der Ihrer Meinung nach nicht im Netzwerk sein sollte, tcpdump
die Pakete durchsuchen und den Austausch von Interesse protokollieren (HTTP-Anforderungen usw.). Es ist mehr Programmierung, aber es kann getan werden.
3. Fingerabdruck mit nmap
Eine andere Methode ist das Durchsuchen des Netzwerks für Clients mit nmap
. Normalerweise könnte man meinen, dies würde Ihnen nicht allzu viel helfen. Wenn jemand Pings blockiert, wird es möglicherweise nicht angezeigt.
Ich schlage vor, Sie verwenden dies in Verbindung mit einer der beiden anderen Methoden. 1
gibt Ihnen die IP-Adresse, so dass Sie direkt nmap können. 2
Sie erhalten keine IP-Adresse, aber Sie erfahren, mit wie vielen Clients Sie nmap
genau zum richtigen Zeitpunkt rechnen müssen. Stellen Sie sicher, dass alle Ihre Geräte pingfähig sind.
Wenn ausgeführt wird nmap
(z. B. sudo nmap -O 192.168.1.1/24
), wird versucht, Hosts zu finden, und anschließend wird ein Port-Scan auf ihnen durchgeführt, um herauszufinden, was sie sind. Ihre Checkliste sollte enthalten, wie jedes Ihrer Geräte reagieren soll nmap
.
Wenn Sie noch einen Schritt weiter gehen möchten, können Sie auf jedem Ihrer Computer einen einfachen Server ausführen. Nur etwas, das eine Verbindung akzeptierte und sie dann löste. Kurzum: Etwas nmap
, wonach man suchen muss. Wenn es offen ist, ist es wahrscheinlich Ihr Computer.
4. Sichern Sie Ihr Netzwerk besser
Sie sollten dies eigentlich zuerst tun, wenn Sie sich Sorgen machen. Verwenden Sie WPA2 / AES. Verwenden Sie niemals WEP (Risse in etwa fünf Minuten).
Wenn Sie immer noch befürchten, dass jemand den Schlüssel herausfindet (WPA2 benötigt viele Daten und Rechenzeit, um zu knacken), wechseln Sie zu einem RADIUS-Modell. Es ist ein Authentifizierungsframework, das für jeden Benutzer einen einmaligen Schlüssel festlegt. PITA zum Einrichten.
Aber was tun?
Wenn ich mit den Dingen nicht zufrieden wäre, würde ich wahrscheinlich manuell Airodump schauen. Wenn ich immer noch nicht glücklich wäre, würde ich anfangen, Dinge, die ich gesehen habe, mit Fingerabdrücken zu versehen. Etwas schwierig (keineswegs unmöglich) zu schreiben.
Das einfachste Skript ist das Router-Scraping mit Fingerabdrücken von nmap
. Kurz und einfach.