Ziel: Proof of concept, dass die Strategie funktioniert
Schnelle und hässliche Google Maps Visualisierung: http://d.pr/RPUS , 120 Zeilen hässliches JavaScript, Daten mit JSON: http://d.pr/rKdO, Animation http://d.pr/kzWX, Code: http://d.pr/jFxU (Bilder nicht lizensiert!). Rotes Handy: http://dl.dropbox.com/u/8594528/icon_phone_rot.png
Aus pcap / tcpdump direkt verwertbare Daten machen ohne Wireshark:
CELLID=0 INPUTFILE="c3kl.pcap" tcpdump -Attttr $INPUTFILE -w- | rawshark -d encap:EN10MB -t e -r- -F gsm_a.imsi -F frame.time_epoch -s | grep -E "1=\"[0-9\.]*\" 0=\"[0-9]*\" -" | sed -e "s/.*1=\"\([0-9]*\).*\" 0=\"\([0-9]*\)\" -/\2 { timestamp: \1, cell: $CELLID }, /g" > $CELLID.cell
Alle vorhandenen Daten zusammenführen und JSONfoo für die Visualisierung bauen:
rm all.cell; for i in `ls *.cell`; do cat $i >> all.cell; done; echo "var mobiles = [" > data.js cat all.cell | perl -e 'while (<>) { chomp; ($x,@rest) = split; push @{$d{$x}}, "@rest ";}; for $key (sort { $a <=> $b } keys %d) { print " { imsi: ", $key, ", points: [ ", @{$d{$key}}, "], marker: null },\n"}' >> data.js echo "];" >> data.js echo "mapData.mobiles = mobiles;" >> data.js
Ziel: Daten flächendeckend aufzeichnen