在没有 GPS 的情况下,Google Latitude 之类的服务如何对我的笔记本电脑进行完美地理定位?

在没有 GPS 的情况下,Google Latitude 之类的服务如何对我的笔记本电脑进行完美地理定位?

像 Google Latitude 这样的服务如何通过我的浏览器(显然是通过我的互联网连接(以太网而非 Wi-Fi))仅使用我当前的公共 IP 地址就能完美地获取我的位置?通过询问我的 ISP?

答案1

Google Latitude 使用 Google 专有服务,其运行原理与更受欢迎的Skyhook 无线系统。该软件会读取您的 wifi 适配器的读数,并将这些读数与已知无线网络及其位置的数据库进行比较,从而根据信号强度对您的位置进行三角测量。这样,该服务无需 GPS 即可确定准确的位置。

WiFi 网络数据库非常庞大,并且来自多个来源。首先,它们可能从 WiGLE 等公共数据库导入。其次,每当运行该服务的笔记本电脑发现新网络时,都会向该服务报告。当多台计算机报告新网络时,可以根据已知计算机的位置对其进行三角测量。保存所有无线网络的数据库相当简单,因为所有无线网络(即使是具有相同 ESSID 的网络)都具有制造商分配的唯一接口 MAC 地址。

答案2

[请赞成/接受@jcrawfordor 的回答,但我想添加一些信息,评论框字符限制太小,因此我决定将其作为答案。]

请注意网络浏览器地理定位 API。您可能忘记了,第一次访问 Google Latitude 时,您授予浏览器权限,让 Google Latitude 访问 Mac 的位置服务数据。对于本身不支持地理定位 API 的浏览器,有可下载的浏览器插件或 Java 小程序提供此类功能,几乎总是通过查询您的 Wi-Fi 卡来查看它周围有哪些网络。Skyhook 的“Loki”技术是一个 Java 小程序,但由于它需要访问系统 API 来查询您的 Wi-Fi 卡以获取网络扫描数据,因此您的浏览器必须在运行 Loki 之前请求许可。通常,Java 应用程序是完全沙盒化的,不需要权限即可运行,因为它们不会侵犯您的隐私或访问您系统上的任何内容。

以下是您第一次访问“谷歌纵横”时 Safari 所做的事情:
Safari 请求允许 Google Latitude 访问您的位置信息

当您尝试加载 Skyhook 的 Loki 小程序时,Safari 会执行以下操作:
Skyhook Loki 小程序请求访问系统的权限

答案3

尽管@jcrawfordor 基本上已经搞定了,而且原贴作者也肯定已经忽略了这一点,但对于其他看到这里的人来说,以下是正在做的事情。

Google、Mozilla 和其他几家公司都有自己的 Wifi 位置数据库。如果供应商担心隐私问题,他们可以选择通过“_nomap”禁用此映射到他们的 wifi 名称 (SSID)。

因此,位置查找仅仅是基于信号强度的查找的扩展。此外,这些是私有数据库,即 FB 和 Mozilla。您可以检查公共数据库,例如开放无线网络地图

希望这可以帮助。

答案4

IP 地址以块为单位分配给 ISP。如果您知道某个 ISP 在哪里开展业务,那么您可以将一个 IP 地址块映射到一个大致的地理位置。不过,这并不总是完美的。例如,大多数 GeoIP 数据库认为我的位置距离我实际所在位置约 60 英里。

他们还可以通过查看有多少个“酒花“您的计算机和他们的服务器之间存在什么关系,也可以通过查看跳数在哪里来判断。

通过结合使用您的 IP 地址、跳数数据和其他来源数据(例如,您的系统的语言和时区),他们可以进一步缩小您的位置范围。

因此,如果某人的 IP 地址是 220.123.321.234,其时区是 GMT+9,且其计算机配置为韩语,那么您可以相当肯定他们位于韩国首尔

相关内容