iSniff-GPS是一个被动式无线网络嗅探工具,它可以捕获附近的iPhone、iPad和其他无线设备所发出SSID,ARP和MDNS (Bonjour) 数据包,确定设备类型及其地理位置。
IOS设备在连接无线网络时所发送的ARP(地址解析协议)数据包有时会包含MAC地址(BSSIDs),详细介绍:Anatomyof a leak: how iPhones spill the ID of networks they access。如上所述,iSniff-GPS根据这些捕获到的ARP数据包(含MAC地址)并提交到苹果官方的无线定位服务器,获得特定BSSID的GPS坐标。
但如果只获取到了设备的SSID,那么iSniff-GPS就会在wigle.net查询其网络名称并给出可能的地理位置。
总而言之,通过多个SSID地理位置和用户最近所连接WiFi的路由器的MAC地址,就基本可以确定苹果设备曾经所在的具体地理位置。
组件
iSniff-GPS由两个主要组件和一些python模块组成:
iSniff_import.py 使用Scapy模块从现场捕获的数据或pcap文件中提取数据,并将其插入到一个数据库(默认是iSniff_GPS.sqlite3)。
Djangoweb应用程序提供了一个基于浏览器的界面,用于查看和分析搜集到的数据。
Wloc.py提供了一个QueryBSSID()功能,该功能可以在苹果无线定位服务器上查找BSSID地址。它不仅能查到MAC地址的坐标,还会给出附近400个BSSID的坐标。
wigle.py提供了一个GetLocation()功能,该功能可以在wigle.net数据库里查询SSID号并给出GPS坐标。但它必须配置一个有效的wigle.net登录cookie。
下载地址
https://github.com/hubert3/iSniff-GPS/archive/master.zip