Hallo zusammen,
die folgende Frage betrifft die Themen Security, Programmieren und Anwendungen... Ich hoffe, ich habe mich für das richtige Sub-Forum entschieden...
Frage
Für einen Proof of Concept würde ich gerne die Signalstärke von WiFi Clients in meiner Umgebung über einen Zeitraum x im Intervall y im CSV Format loggen. Entsprechende Projekte existieren bereits (siehe https://github.com/schollz/howmanypeoplearearound).
Ich würde so etwas zu Lern-Zwecken gerne einmal selbst implementieren. Ziel wäre es, die dadurch erhaltenen Daten wie folgt aufzubereiten und via python zu plotten (x-Achse: Zeit, y-Achse: Signalstärke):
1 2 3 | MacAdresse,Signalstärke_0_Minuten,Signalstärke_5_Minuten,Signalstärke_10_Minuten,... 21:21:21:21:21:21,-80,-70,-80,... 42:42:42:42:42:42,-80,-70,-80,... |
Idee zum vorgehen
Clients in der Umgebung kann ich mir via airodump-ng komfortabel anzeigen lassen. Sowohl der Output auf der Konsole als auch der CSV Export von airodump erledigen eigentlich bereits 90 % meiner Anforderungen:
Befehl: airodump-ng -w output_file --output-format csv mon0
Ausgabe in der Konsole (wird stetig aktualisiert):
1 2 | BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 21:21:21:21:21:21 -100 42 0 0 1 65 WPA2 CCMP PSK ROUTERNAME |
Ausgabe via CSV:
1 2 | Station MAC, First time seen, Last time seen, Power, # packets, BSSID, Probed ESSIDs 21:21:21:21:21:21,2021-01-01 21:21:21,2021-01-01 21:42:42,-100,42, 42:42:42:42:42:42, |
Alles was fehlt wäre jetzt der zeitliche Verlauf, sprich die Angabe, wie hoch die "Power" der jeweiligen Clients im Intervall von x Minuten ist. Dies kann ich auf der Konsole live mitbeobachten, allerdings nicht loggen.
Dazu fallen mir jetzt mehrere Lösungen ein. Von keiner bin ich sehr begeistert:
Kompletter Verzicht auf airodump. Mitschneiden des Traffics via tshark. Scrapen des output, z.B. via python. (Hier müsste man separat nochmal in den Monitor-Mode gehen und dann die zu empfangenden Channel manuell einstellen)
Nutzung von airodump und speichern der Daten im PCAP Format. Scrapen des outputs. (Die output file erreicht allerdings schnell eine gewisse Größe)
Nutzung von airodump via cronjob. Beenden des Scan-Vorgangs nach x Minuten. Scrapen des CSV outputs.
Das klingt für mich jetzt gerade alles noch nicht soo cool. Daher meine Frage: Fällt euch ggf. eine bessere Lösung ein?
VG jaik