如何使用MAC地址获取GPS坐标?

时间:2009-12-13 21:02:32

标签: c# api gps

我知道服务存在,例如skyhook,但我根本找不到API或有关如何使用它的信息。我有一个来自无线网络甚至有线网络的MAC地址列表,我希望获得用户的三角测量GPS坐标。

编辑:有人提到你无法获得MAC地址信息?从Windows 7我做了“netsh wlan show networks mode = bssid”,我看到了下面的内容。我假设BSSID中的地址是静态的,至少是相关的吗?

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

3 个答案:

答案 0 :(得分:5)

对于记录,除非您与MAC地址停放在同一子网上并且具有活动连接 - 即,您从接入点收到了IP地址 - 无法在没有外部因素的情况下确定Wi-Fi AP的IPv4地址(即使手头有MAC地址)。我很好奇史蒂文是如何解决它的(因为它听起来并不像你正在连接这些网络)。不,ARP不会帮助你。

值得考虑的还有一个Wi-Fi AP,用RFC 1918地址标识自己。我的AP的IP地址为192.168.250.1,并且上游有自己的默认网关 - 我的AP上的IP地理位置会给出什么?


每个无线接入点都使用MAC地址自由清晰地识别自己。 SkyHook使用广播MAC地址和已知MAC的数据库来对抗街道地址,以对人员进行三角测量。

SkyHook在MAC /街道地址级别工作的原因是因为GeoIP服务本质上是无用的。我的雇主有一个/20由RIPE分配,由伦敦宣布;因为我的雇主是一家美国公司,几乎每家GeoIP服务都在新泽西州找到这些IP地址。 我很惊讶有很少的GeoIP系统无法检查宣布的ASN,但我离题了......

也就是说,SkyHook将已知的Wi-Fi AP MAC地址(无IPv4)与蜂窝三角测量相结合,以获得相当准确的信息。根据{{​​3}},似乎数据库主要由用户提交的AP提供支持。根据{{​​3}}页面,它们可以处理MAC地址:

  

[...]或了解MAC地址是什么以及如何获取它,请访问Skyhook支持网站。

他们服务的最大好处似乎是接入点数据库。您根本不需要执行GeoIP,只需要他们拥有的数据。我收集了一个开源项目市场的漏洞?

答案 1 :(得分:3)

您必须将MAC地址解析为IP地址,然后对IP地址执行主机查找。 (这将告诉您用户所连接的ISP)您不太可能从中获得准确的位置。但是,您可以识别MAC地址当前所在的国家/地区和/或城市。

使用IP地址,您可能希望使用服务/数据库(如GeoIP)获取有关IP地址的一些地理信息。对于ISP位置,您需要找到ISP的位置数据库。

我看了看SkyHook的网站:这就是他们做的事情:

  1. WiFi接入点:许多WIFI点不会改变,因此这有助于缩小用户可能的范围。
  2. 手机信号塔,它们位于已知位置,通过3点或更多点,您可以对用户的非常准确的位置进行三角测量,具有单一的优势。
  3. Microsoft也有与VirtualEarth

    类似的功能

答案 2 :(得分:3)

Skyhook系统似乎只适用于移动设备。它使用GPS(来自设备自己的GPS软件),使用中的WiFi接入点的位置知识,或正在使用的手机信号塔的三角测量。

详情为here

如果用户愿意共享他们的GPS位置,或者他们的WiFi接入点列在Skyhook数据库中,则会获得最佳准确度。但是,大多数临时用户不会打开GPS天线,除非他们在某处导航,并且大多数私人或公司WiFi接入点都不会列出。

因此,在实践中,此服务仅对用户同意的应用程序非常有用,例如跟踪公司使用的设备。

后备是使用IP的地理位置,正如我在上面的评论中提到的那样非常不准确,而且实际上只是用来娱乐。