Auswertung der netxml
Daten geht auch sehr gut mit giskismet, das die netxml
Dateien in eine SQLite Datenbank (default: wireless.dbl ) kopiert und auch GoogleEarth / KML Dateien für die Visualisierung via SQL erzeugen kann.
Installiert wird es auf dem Raspberry Pi mit:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install libxml-libxml-perl libdbi-perl libdbd-sqlite3-perl sqlite3 subversion svn co https://my-svn.assembla.com/svn/giskismet/trunk giskismet cd giskismet perl Makefile.PL make sudo make install ## import einer netxml in die Datenbank perl giskismet -x ../kismet/6.2.2015/Kismet-20150206-15-07-59-1.netxml # generieren eines Graphen im kml Format aus der importierten Datenbank perl giskismet -q "select * from wireless" -o lgh-daten.kml # nun alle ohne Verschlüsselung perl giskismet -q "select * from wireless where Encryption='None'" -o lgh-daten-ohne-enc.kml # und nun alle ohne verschlüsselung und ohne Kabeldeutschland Hotspots, die sind hier sehr Zahlreich perl giskismet -q "select * from wireless where Encryption='None' and ESSID!='KD WLAN Hotspot+'" -o lgh-ohne-enc-ohne-kd.kml # oder jeden beliebigen SQL über die sqlite3 Konsole, hier mal ein Beispiel für die Anzahl der Einträge sqlite3 wireless.dbl "select count(*) from wireless" # oder wir gehen auf die sqlite3 Konsole mit der DB sqlite3 wireless.dbl # nun geben wir mal alle Tabellen in der DB aus .tables # und nun das genaue Schema der DB: .schema # Ausgabe: sqlite> .schema CREATE TABLE clients ( cid INTEGER PRIMARY KEY AUTOINCREMENT, nid INTEGER NULL, mac text default NULL, manuf text default NULL, iptype text default NULL, ip text default NULL); CREATE TABLE wireless ( Id INTEGER PRIMARY KEY AUTOINCREMENT, NetworkID INTEGER NULL, NetType text default NULL, ESSID text default NULL, BSSID text default NULL, Manuf text default NULL, Info text default NULL, Channel INTEGER NULL, Cloaked text default NULL, Encryption text default NULL, Decrypted text default NULL, MaxRate INTEGER NULL, MaxSeenRate INTEGER NULL, Beacon INTEGER NULL, LLC INTEGER NULL, Data INTEGER NULL, Crypt INTEGER NULL, Weak INTEGER NULL, Total INTEGER NULL, Carrier text default NULL, Encoding text default NULL, FirstTime text default NULL, LastTime text default NULL, BestQuality INTEGER NULL, BestSignal INTEGER NULL, BestNoise INTEGER NULL, GPSMinLat float NULL, GPSMinLon float NULL, GPSMinAlt float NULL, GPSMinSpd float NULL, GPSMaxLat float NULL, GPSMaxLon float NULL, GPSMaxAlt float NULL, GPSMaxSpd float NULL, GPSBestLat float NULL, GPSBestLon float NULL, GPSBestAlt float NULL, DataSize INTEGER NULL, IPType text default NULL, IP text default NULL); # gut, da ich nun alle Tabellen Felder habe, kann ich auch genauere Auswertungen erzeugen # alle Namen die keine verschlüsselung haben select ESSID from wireless where Encryption='None'; |
Ich geht dann mal los…