I know services exist such as skyhook, but I simply can not find an API or information on how to use it. I have a list of MAC addresses from wireless networks, or even wired networks, and I want to get triangulated GPS coordinates of the user.
EDIT: Somebody mentioned that you can’t get MAC address information? From Windows 7 I did “netsh wlan show networks mode=bssid” and I see the below. I assume the address in BSSID is static and at least correlates?
SSID 6 : linksys
Network type : Infrastructure
Authentication : WPA-Personal
Encryption : TKIP
BSSID 1 : 00:0c:41:19:56:7b
Signal : 15%
Radio type : 802.11g
Channel : 6
Basic rates (Mbps) : 1 2 5.5 11
Other rates (Mbps) : 6 9 12 18 24 36 48 54
SSID 7 : KSJ
Network type : Infrastructure
Authentication : Open
Encryption : WEP
BSSID 1 : 00:18:01:95:e7:ca
Signal : 30%
Radio type : 802.11g
Channel : 2
Basic rates (Mbps) : 1 2 5.5 11
Other rates (Mbps) : 6 9 12 18 22 24 36 48 54
SSID 8 : benchhome
Network type : Infrastructure
Authentication : WPA-Personal
Encryption : TKIP
BSSID 1 : 00:0f:b5:e3:2e:24
Signal : 23%
Radio type : 802.11g
Channel : 11
Basic rates (Mbps) : 1 2 5.5 11
Other rates (Mbps) : 6 9 12 18 24 36 48 54
For the record, unless you are parked on the same subnet as the MAC address and have an active connection — i.e., you received an IP address from the access point — there is no way to determine a Wi-Fi AP’s IPv4 address without external factors (even with MAC address in hand). I’m curious how steven suggests that you resolve it (since it doesn’t sound like you’re connecting to these networks). And no, ARP won’t help you here.
Worth thinking about also is a Wi-Fi AP that identifies itself with a RFC 1918 address. My AP has an IP address of
192.168.250.1, and has its own default gateway upstream — what will the geolocation for the IP on my AP give?Every wireless access point identifies itself with a MAC address free and clear. SkyHook uses the broadcast MAC addresses and a database of known MACs against street addresses to triangulate where a person is.
The reason SkyHook works at the MAC/street address level is because GeoIP services are inherently useless. My employer has a
/20allocated by RIPE, which is announced from London; because my employer is a United States company, almost every GeoIP service locates these IP addresses in New Jersey. I’m amazed there are few GeoIP systems that bother to check the announcing ASN, but I digress…That said, SkyHook combines known Wi-Fi AP MAC addresses (no IPv4) with cellular triangulation to get pretty darned accurate. According to SkyHook themselves, it appears the database is powered mostly by user submissions of APs. According to the submit AP page, they work on MAC addresses:
It seems the biggest boon of their service is the database of access points. You do not need to do GeoIP at all, you just need the data that they have. A hole in the market for an open source project, I gather?