Ich habe eine Lösung entwickelt, welches die Capture-Daten von Airodump-ng schön im Browser darstellt und filtert, sortiert und selektiert. Pro WLAN-SSID werden die zugehörigen Endgeräte mit allen Details dargestellt. Serverseitig werden keine Daten der CSV-Datei verarbeitet, das Airodump-ng Filter-Tool läuft lokal im Browser unter Verwendung von JavaScript. Es nutzt die Daten, welche von Airodump-ng erstellt werden und visualisiert die WLAN-Netzwerke in der Umgebung.
Persönlich finde ich die Analyse meiner WLAN-Umgebung sehr spannend. Ich amüsiere mich gern über lustige WLAN-Namen, finde es spannend, welche Hersteller von Access Points zum Einsatz kommen und wie sich der Einsatz von WLAN mit den Jahren verändert. Zudem ist die Beobachtung der WLAN-Umgebung ist für die richtige Kanalwahl der eigenen Access Points ein probates Mittel.
Aber dafür gibt es doch Apps, ganz bequem auf dem Smartphone? Oder die Daten aus dem Access Point selbst? Richtig, doch beide Sichten beschränken sich auf den aktuellen Zustand. Vergangene Daten über die WLAN-Umgebung sind nicht wirklich auswertbar. Mein Airodump-ng Filter-Tool dagegen liefert Einblicke in die Historie der WLAN-Umgebung. Vor Jahren konnte ich so die Marktentwicklung von 5-GHz-WLAN ganz live erleben. Jetzt bin ich vor jeder Analyse ganz gespannt, wann das erste 6-GHz-WLAN in meiner Umgebung auftaucht. Oder WPA3.
Wie funktioniert das Airodump-ng Filter-Tool?
Mein selbst geschriebenes Browserprogramm knüpft direkt an die Erfassung durch Airodump-ng an. Airodump-ng liefert die CSV-Datei mit den Daten, mein Airodump-ng Filter-Tool bereitet diese Daten auf und zeigt sie im Browser an. Die Anzeige klappt übrigens auch auf dem Smartphone. Das Tool besitzt Funktionen zum Filtern, Sortieren und Selektieren von allerlei WLAN-Eigenschaften wie BSSID, Kanal, Geschwindigkeit, Verschlüsselung, Sendeleistung und WLAN-Name. Wählt man ein (oder mehrere) WLAN-Netzwerke in der Liste aus, werden in einer zweiten Ansicht die dem jeweils ausgewählten WLAN-Netzwerk zugeordneten Endgeräte gefiltert angezeigt. Wählt man kein WLAN aus, werden all diejenigen Endgeräte angezeigt, welche keinem WLAN zugeordnet sind. Das Tool zeigt auch Details zu den erkannten Endgeräten an, zum Beispiel die Probe Requests.
Mit dem Tool ist es zudem möglich, mehrere CSV-Dateien einzulesen. So können die WLANs in der Umgebung langfristig untersucht werden. Das Tool zeigt dann das Datum der ersten und letzten Erfassung an. Zudem können eigene Kommentare erstellt und gespeichert werden. Die Kommentare werden in einer separaten CSV-Datei lokal über euren Browser gespeichert. So ist es möglich, in einer späteren Untersuchung die Kommentare über diese CSV-Datei wieder einzulesen.
Anleitung
Anwender von Airodump-ng sollten das Filter-Tool problemlos bedienen können. Für alle anderen habe ich eine kurze Starthilfe im Angebot. Es ist ganz einfach: Erst CSV-Datei einlesen, dann analysieren. Optional weitere Dateien zwecks Historie einlesen oder Kommentare abspeichern.
Schritt 1: Monitoring mit Airodump-ng und speichern der CSV-Datei
Das Airodump-ng Filter-Tool benötigt einen Datenexport von Airodump-ng. Die CSV-Datei beinhaltet alle relevanten Daten zur WLAN-Umgebung. Um das Monitoring mit Airodump-ng zu starten, muss ein WLAN-Adapter angeschlossen werden, welcher den Monitor Mode beherrscht. Am einfachsten klappt das unter Kali Linux. Verwendet immer die neueste Version. Erst die Version 1.6 von Airodump-ng beispielsweise erkennt WPA3. Immerhin ist die Auswertung über mein Filter-Tool nur so gut wie die angelieferten Daten. Und die kommen eben von Airodump-ng.
Sobald sich der WLAN-Adapter im Monitor Mode befindet, muss folgender Befehl in die Konsole eingegeben werden, um die benötigte CSV-Datei zu erzeugen:
sudo airodump-ng -w /home/empy/Documents/Daten/Dump/20211304 --output-format csv wlan0
Der Befehl startet Airodump-ng. „-w /pfad/zum/speicherort/dateiname“ legt fest, an welchem Ort die erfassten Daten abgespeichert werden sollen. Ich wähle als Dateiname immer das aktuelle Datum im Format yyyyddmm. Mit „–output-format csv“ wird nur die CSV-Datei erstellt, welche die Funkumgebung abbildet. „wlan0“ definiert den WLAN-Adapter im Monitor Mode, welcher für die Analyse genutzt werden soll.
Man sollte dem Capturing ruhig einige Minuten Zeit geben, bevor die Erfassung mit STRG+C wieder beendet wird. Das macht das Capturing vollständiger, denn mit mehr Zeit können mehr Access Points und Clients erfasst werden. Übrigens: Das Capturing und die Auswertung mit dem Airodump-ng Filter-Tool kann auf jeweils unterschiedlichen Computern durchgeführt werden. Mein Tool benötigt lediglich eine wie oben beschrieben erstellte CSV-Datei und einen Webbrowser.
Schritt 2: CSV einlesen
Sobald die CSV-Datei aus Schritt 1 vorliegt, kann sie eingelesen werden. Dazu wird der Dialog „CSV-Datei einlesen“ genutzt: Zuerst auf „Datei auswählen“ klicken, dann im anschließenden Dialog die CSV-Datei auswählen. Direkt nach dem Öffnen der Datei wird die Datei vom Tool eingelesen und der entsprechende Dateiname wird angezeigt. Gleichzeitig werden die Bereiche „Verlauf“, „Access Points“ und „Clients“ eingeblendet und mit den entsprechenden Information befüllt. Alle drei Bereiche lassen sich zu- und aufklappen. So lässt sich die Sicht gezielt nach Analyseschwerpunkt anpassen.
Schritt 3: Analysieren
Nachdem die gewünschte Datei eingelesen wurde, kann die eigentliche Analyse beginnen. Jeder Bereich bietet dazu Optionen zum Sortieren und Filtern des Datensatzes, der Bereich „Access Points“ bietet zusätzlich die Option zum Selektieren, um nur diejenigen Endgeräte im Bereich „Clients“ anzuzeigen, die mit dem selektierten Access Point verbunden sind. Alle Methoden sind beliebig kombinierbar und berücksichtigen sich gegenseitig. Auch spaltenübergreifend.
Zum Sortieren einfach auf die Spaltenbezeichnung klicken. Je nach Datensatz wird entweder alphabetisch, chronologisch oder aufsteigend sortiert. Ein erneutet Klick auf die Spaltenbezeichung invertiert die Sortierung. Zum Filtern wird das Eingabefeld über jeder Spalte genutzt. Sobald eine Eingabe erfolgt, wird diese in der Ansicht entsprechend berücksichtigt. Zum Selektieren wird die letzte Spalte genutzt. Selektieren ist nur im Bereich „Access Points“ möglich. Einfach die gewünschten Datensätze anhaken. Der Bereich „Clients“ passt sich der Auswahl entsprechend an. Mehrfachauswahl ist möglich. Über die Option im Spaltenkopf lassen sich bequem alle Datensätze gesammelt an- oder abwählen.
Der Bereich „Clients“ zeigt alle von Airodump-ng erfassten Endgeräte an. Direkt nach dem Öffnen einer CSV-Datei werden hier alle Endgeräte angezeigt, die zum Zeitpunkt der Messung keinem WLAN zugeordnet werden konnten. Es werden unter anderem die MAC-Adresse, der Erkennungszeitpunkt und die Sendeleistung angezeigt. Sobald im Bereich „Access Points“ eine Auswahl getroffen wurde, passt sich die Ansicht im Bereich „Clients“ an und nur die zur entsprechenden Auswahl passenden Endgeräte werden angezeigt.
Der Bereich „Access Points“ listet alle Access Points bzw. WLAN-Namen inkl. BSSID, Zeitpunkt, Kanal, Geschwindigkeit, etc. auf. Ganz am rechten Ende der Tabelle besteht die Möglichkeit, Datensätze zu selektieren. Diese Selektion wirkt sich auf die Ansicht im Bereich „Clients“ aus. Sobald ein oder mehrere WLANs ausgewählt werden, werden nur die sich im ausgewählten WLAN befindlichen Endgeräte im Bereich „Clients“ angezeigt.
Im Bereich „Verlauf“ lassen sich historische Betrachtungen über das WLAN-Umfeld anstellen. Dazu werden einfach mehrere CSV-Dateien eingelesen, wie in Schritt 2 beschrieben. Während die Bereiche „Access Points“ und „Clients“ immer nur die Werte der zuletzt eingelesenen Datei auswerten, sammelt der Bereich „Verlauf“ die Daten zu allen Access Points aus den eingelesenen CSV-Dateien und zeigt jeweils BSSID, WLAN-Name, Datum der ersten Sichtbarkeit sowie Datum der letzten Sichtbarkeit an. Wichtig: BSSIDs (also Access Points) können mehrfach in der Liste auftauchen. Dies ist kein Fehler, vielmehr weißt ein solcher Umstand darauf hin, dass der Access Point im zeitlichen Verlauf mehrere verschiedene WLAN-Namen (ESSIDs) nutzte. Damit keine Information verloren geht, werden in diesem Fall zwei Datensätze angezeigt. Auch die Uptime, also die Anzahl an Tagen zwischen erster und letzter Sichtbarkeit, wird errechnet. In der letzten Spalte ist es zudem möglich, eigene Kommentare pro WLAN-Access-Point-Kombination zu erfassen und zu speichern.
Schritt 4: Kommentieren (optional)
Wie bereits erwähnt sammelt der Bereich „Verlauf“ die Daten aller Access Points aus den eingelesenen CSV-Dateien und berechnet zudem den Sichtbarkeitszeitraum. In der letzten Spalte ist es möglich, eigene Kommentare zum pro Datensatz zu erfassen. Die Kommentare werden in einer separaten CSV-Datei lokal auf dem Computer gespeichert. Um die Kommentarfunktion zu aktivieren, muss zunächst die zuletzt gespeicherte Kommentardatei eingelesen werden. Nur so kann ausgeschlossen werden, dass alte Kommentare nicht versehentlich überschrieben werden. Die Kommentarfunktion wird deshalb erst dann aktiviert, wenn eine frühere Kommentar-Datei eingelesen wurde.
Nachdem die zuletzt gespeicherte Kommentardatei hochgeladen wurde, können Kommentare eingegeben werden. Bitte keine Kommas (,) oder Strichpunkte (;) eingeben in die Kommentarspalte einfügen, ansonsten wird die Kommentardatei fehlerhaft gespeichert. Ich arbeite noch an einer Lösung dafür. Nach der Eingabe von Kommentare können diese über die entsprechende Schaltfläche wieder gespeichert werden. Eine neue Kommentardatei wird erzeugt und in das standardmäßige Download-Verzeichnis gespeichert.
Beim ersten Mal muss folgende leere Kommentardatei verwendet werden. Sobald das erste Mal eigene Kommentare gespeichert worden sind, sollte dann die selbst gespeicherte Kommentar-Datei beim nächsten Einlesen zum Kommentieren verwendet werden. So bleiben alle Kommentare erhalten.