Inhaltsverzeichnis

WTF ist GSM

Hilfreiches:

Wireshark-Hints:

Einbuchen der Mobile Station

Empfang einer SMS

Wireshark-Filter:

(udp.port == 4729) &&
!(gsm_a.dtap_msg_rr_type == 0x21) && // Keine Paging Request Type 1 messages anzeigen
!(gsmtap.chan_type == 5) // Keine Paging Channel (PCH) messages

IMSIs filter

Wireshark-Filter:

gsm_a.imsi

Konzept: Wireshark-Dump als PDML (XML-Format) exportieren, dann mit Ruby-Skript (basierend auf Nokogiri) die IMSIs aus den Paging Requests Type 1 herausfischen.

http://nokogiri.org/tutorials/searching_a_xml_html_document.html

ugly hack is ugly:

require 'rubygems'
require 'nokogiri'

# ugly hack is ugly but works.

@doc = Nokogiri::XML(File.open("einbuchen.pdml"))

puts "timestamp\timsi"

imsi_xml = @doc.xpath("//field[@name='gsm_a.imsi']")
imsi_xml.each{|node|
  imsi = node["value"]
  packet_xml=Nokogiri::XML(node.parent.parent.parent.to_s)
  timestamp_xml=packet_xml.xpath("//field[@name='timestamp']")
  timestamp=timestamp_xml[0]["value"]
  puts "#{timestamp}\t#{imsi}"
}

Mit mehreren Mobile Stations dann gucken, ob $Leute an verschiedenen Orten mehrfach auftauchen. Als KML darstellen.

http://www.omninerd.com/articles/Automating_Data_Visualization_with_Ruby_and_Graphviz

BSIC: http://en.wikipedia.org/wiki/Base_station_identity_code → brauchen wir nicht wirklich, da ja die position des Sniffers bekannt ist.

tcpdump -i lo port 4247 -w foo.pcap
tshark -r foo.pcap -T psml > foo.pdml