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

标签 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

最佳答案

郑重声明,除非您位于与 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 服务本质上是无用的。我的雇主有一个由 RIPE 分配的 /20,这是从伦敦宣布的;因为我的雇主是一家美国公司,所以几乎每个 GeoIP 服务都将这些 IP 地址定位在新泽西州。 我很惊讶很少有 GeoIP 系统会费心去检查宣布的 ASN,但我离题了......

也就是说,SkyHook 将已知的 Wi-Fi AP MAC 地址(无 IPv4)与蜂窝三角测量相结合,以获得相当准确的数据。根据SkyHook themselves , 看来该数据库主要由用户提交的 AP 提供支持。根据submit AP页面,他们在 MAC 地址上工作:

[...] or to learn what a MAC address is and how to get it, visit the Skyhook Support site.

他们服务的最大好处似乎是接入点数据库。你根本不需要做 GeoIP,你只需要他们拥有的数据。我猜是开源项目的市场漏洞?

关于c# - 如何使用 MAC 地址获取 GPS 坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897732/

相关文章:

Python套接字突然超时?

iOS 出现在 'sharing apps' 列表中

r - 如何使用 R Package Trip 过滤 GPS 跟踪数据?

android - 使用 USGS 高程查询服务 API 获取高程(地面高度)

c# 循环traceListener不滚动文件

c# - 如何设置 NLOG 使用多个数据库

c# - 在 asp.net core 3.1 中使用 log4net 和 Microknights 登录数据库无效

c# - 我如何从 sql server 的 RAISERROR 捕获 C# 中的错误?

java - 从 Spring Security 外部访问 Spring Security Threadlocal 用户信息

java - 如何将 GPS 坐标发送到另一个类