← 返回博客

我的 IP 位置为何不对?它映射的是网络,而非人

我的 IP 位置为何不对?它映射的是网络,而非人

你的 IP 位置常常不对,是因为 IP 地理定位描述的是地址所属的网络,而不是使用者的实际物理位置。IP 地址分配自某个组织拥有的地址块,附在它上面的位置反映的是该组织注册或运营这个地址块的地方。

当人们问“为什么我的 IP 位置不对?”时,通常期待的是更接近 GPS 的东西。协议中并不存在这样的机制。地址本身并不说明你在哪里;地理定位数据库根据注册记录、路由数据和测量来推断大致位置,而且放得越大,推断就越粗略。

地址如何获得位置

区域互联网注册管理机构将地址块分配给 ISP、移动运营商、云服务商和公司等组织。每个地址块都有注册国家和所有者,你可以通过 IP whois 查询读取。所有者运营着带有 ASN 的自治系统,ASN 查询会显示该网络的所有者、国家和地址段。凭借这些记录,数据库通常能以较高置信度把地址定位到正确的国家。

城市级定位则更难。ISP 可能通告一个大的地址块,并通过少数几个接入点为整个地区的客户提供服务。位于该接入点之后的每个人看起来都在同一座城市,而这座城市可能距离他们实际所在地几十甚至几百公里。这并不是查询的缺陷,而是反映了网络的构建方式。关于精度局限的更多内容,请参阅为什么 IP 地理定位的城市级精度有限。

位置看起来不对的常见原因

  • 集中式 ISP 基础设施。住宅流量被汇聚并在区域枢纽出口,因此你被映射到枢纽所在的城市。
  • 移动运营商。手机的地址通常来自运营商网关,而该网关可能离你使用的基站很远。运营商查询可以说出某个移动地址的运营商名称,但这是网络层面的,与个人无关。
  • VPN、代理和 Tor。你的可见地址是出口服务器的,因此位置就是该服务器所在之处。VPN、Tor 与代理检查器会显示某个地址是否为已知的出口节点。
  • 企业和校园网络。来自分支机构的流量可能经由总部的连接出去。
  • 过时或被重新分配的地址块。地址在所有者和地区之间转移,而任何数据库都落后于这些变化。注册国家是地址块登记的地方,不一定是其设备所在的地方。
  • 保留地址。私有或保留地址根本没有公网位置。bogon IP 检查器会告诉你正在查看的地址是否属于这类地址段。

哪些可靠,哪些不可靠

国家是最可靠的层级,大多数规则都应以它为依据。地区通常还不错,而城市只是粗略的线索,适用于宽泛的个性化,但不适用于任何需要街道或邮政编码的场景。请将由 IP 推导的位置视为一块模糊区域的中心,而不是一个点。这也是为什么 ipto 上的天气和附近地点页面会先向浏览器请求精确的地理定位,仅在你拒绝时才回退到近似的 IP 估计。

对开发者而言,实用的规则是围绕不确定性来设计。不要从 IP 推断身份或家庭住址,不要因城市不匹配而对用户硬性封锁,并提供一种便捷的方式来更正猜测的位置,例如城市选择器。如果你需要精确位置,就通过浏览器或表单明确地请求。

如何检查你自己的地址

在 ipto 上查询你的地址,并比较三项内容:国家、ASN 和组织,以及网络标记。如果 ASN 的组织是你的 ISP,且城市是区域枢纽,那么你看到的是正常现象。如果组织是托管公司,或设置了 VPN 标记,位置反映的就是该服务。在 API 中,IP 查询会返回 country、city、asn、org、is_vpn、is_tor 和 is_datacenter,足以解释大多数令人意外的结果。完整字段列表见 API 文档。

如果对于非 VPN 地址,连国家都不对,那么可能是注册信息较新或被重新分配了。IP 和 ASN 数据集每天刷新,因此结果可能在下次更新后改变;公开查询没有手动覆盖的途径,所以如果某个地址块确实被错误标注,请联系 whois 记录中显示的网络所有者。

直截了当的答案

IP 地理定位映射的是地址所属的网络,而不是用户的实际物理位置。ISP 会通过区域枢纽路由流量,而移动运营商、VPN 和代理使可见地址远离实际的人。
国家级定位最可靠,地区通常还算合理,城市只是粗略的线索。绝不应用它来查找街道地址或识别个人。
查询该地址,检查 ASN、组织以及 VPN、Tor 和数据中心标记。如果组织是 VPN 或托管公司,位置反映的是该服务;如果是你的 ISP,你看到的很可能是其区域枢纽的位置。
← 返回博客