每个认真使用代理的人都会遇到的场景。您获取了一个位于“德国”的居民IP。打开检查器——它诚实地显示德国,法兰克福。您访问目标网站——而该网站显示荷兰货币、荷兰的结果和荷兰的cookie横幅。第二个检查器则表示IP实际上在比利时。谁在说谎?
没有人。问题在于IP地址没有坐标。地理定位并不是地址的属性,而是特定数据库的看法,这些看法是通过间接方法收集的。数据库有很多,它们是独立的,并且结果往往不一致——系统性且可预测。下面我们将探讨这些数据的来源、最新测量的实际误差有多大,以及在实践中该如何处理。
IP没有地理位置——只有估计
在数据包中没有“国家”字段。互联网对地址的了解仅限于它在注册商文档中分配给谁,以及BGP路由指向何处。商业数据库(如MaxMind、IPinfo、IP2Location、DB-IP等)通过组合五个来源来收集猜测:
- RIR和whois记录。 记录中的国家是分配给区块的组织的司法管辖区,而不是机器实际所在的位置。德国提供商可以在阿姆斯特丹轻松部署地址。
- 地理数据。 自发布的地理数据格式由RFC 8805(2020)规定,2024年被RFC 9632替代——通过RDAP进行验证和发现。运营商自己声明其子网的位置。这是唯一的权威来源,但覆盖面微不足道:到2023年底,地理数据发布了约2800个自治系统——大约3400万个IPv4地址,或全球分配的0.8%。
- 路由和BGP前缀。 如果知道一个地址的位置,数据库会对整个前缀进行外推。这是主要的错误来源。
- 延迟测量。 从已知点进行RTT三角测量——在密集的欧洲城市中有效,但在测量点少的地方失效。
- 合作伙伴数据。 来自应用程序和服务的信号,将IP与设备的GPS坐标进行匹配。
每个供应商以自己的比例和规则混合这些数据。结果不一定相符。
误差有多大:2026年的测量
2026年5月21日,弗吉尼亚理工大学的研究人员(Syed Tauhidun Nabi、Jocelyn Bliton、Tijay Chung、Shaddi Hasan)发表了论文《Lost in the Prefix: Revisiting IP Geolocation Accuracy Across Networks and Geographies》。他们将四个数据库——MaxMind GeoLite2、IPinfo、IP2Location DB11和DB-IP Lite——与来自175个国家的16,010个RIPE Atlas探针的基准进行了比较,以及来自UNICEF Giga项目的21,292对“IP-学校”。总共进行了37,302次观察,其中74.7%为IPv4,25.3%为IPv6。
关键数字:
- 固定网络: 中位误差在3–16公里之间,具体取决于提供商。对于发达国家的家庭有线互联网,地理定位效果良好。
- 移动网络: 中位误差在179–207公里之间。这是与固定网络之间超过十倍的差距,并且在四个数据库中都是一样的。
- 各地区的重大错误比例(超过100公里): 欧洲9–20%,美洲8–22%,亚洲53–61%,非洲66–72%。
- 原因: 大约70%的移动前缀物理上延伸超过100公里。前缀越大,误差越高——与供应商、网络类型和地区无关。
重要的是:所有四个数据库的错误率大致相同,并且在相同的位置。这不是“坏供应商与好供应商”的对比——这是方法的共同限制。在全球南方国家,“粗略”前缀的数量多出2–3倍,因此错误率也更高。
MaxMind诚实地标明了自己的界限:在国家级别上准确率为99.8%,在美国州/地区级别约为80%,在城市级别为66%——而“城市”意味着在50公里的半径内。特别说明的是,移动网络中的地址由远距离的手机使用,而在VPN或代理的情况下,数据库定位的是服务器,而不是最终用户。
为什么检查器和网站看到不同的结果
这里隐藏着原始场景的谜底。您打开的检查器显示的是它自己的数据库的数据。目标网站查看的是它自己的数据。这是对同一问题的不同回答,在各自的坐标系统中都是“正确”的。
三个具体的差异机制:
- 不同的供应商。 通过Cloudflare的网站从CF-IPCountry头部获取国家——这是Cloudflare自己的数据,通常与MaxMind在同一时刻提供的相同地址的数据不一致。流媒体和支付系统通常会维护自己的列表,并附加行为历史。
- 数据的不同年龄。 免费的GeoLite2 City和Country每周更新两次——在星期二和星期五。商业GeoIP2每天发布一次。使用一年前数据库快照的网站将看到去年的情况。这也解释了为什么新的子网需要几周才能“适应”。
- 不同的细节。 供应商的政策不同:有些提供城市,有些在信心低时故意四舍五入到地区或国家。缺少城市并不是错误,而是拒绝猜测。
四种几乎保证会出现差异的情况
- 移动代理。 定义上最糟糕的情况:CGNAT,一个前缀覆盖半个国家,中位误差接近200公里。要求移动IP提供精确的城市是毫无意义的——网络就是这样运作的。同时,检查一下这个IP是否真的是移动的,而不是带有伪装ASN的数据中心:方法分析见如何区分真实的4G代理和伪造的ASN。
- 转售和迁移的区块。 在将IPv4子网转让给新所有者后,旧国家在数据库中会挂存数月。二级地址市场活跃,因此这是一种普遍现象,而非特例。
- Anycast和云。 同一个前缀从世界各地的数十个点进行公告。数据库被迫将其归结为一个位置——而任何选择对大多数请求都是错误的。
- 在总部注册。 提供商在一个国家注册,但基础设施在另一个国家。数据库根据文件进行处理,因为没有其他数据。
实际操作该怎么办
- 在重要的地方进行检查,而不是在检查器中。 唯一重要的测试是打开目标网站,查看它显示了哪个国家和货币。如果任务是Google的本地结果或区域价格,检查器根本不是接受标准。
- 至少对比三个数据库。 如果MaxMind、IPinfo和DB-IP一致——目标网站很可能也会如此。如果它们之间存在差异,则是一个信号,表明该地址存在争议,并且会出现问题。
- 区分“国家”和“城市”的要求。 在可靠的提供商上,国家是可靠的(根据MaxMind的评估为99.8%)。城市是一个概率值,即使在最佳情况下,半径约为50公里。基于城市构建商业逻辑时,必须留有误差的余地。
- 查看前缀,而不是地址。 检查whois和公告块的大小。如果IP位于一个覆盖半个国家的/16中,任何人都无法提供精确的定位。
- 不要混淆地理与声誉。 正确的国家并不意味着该地址没有被标记为代理。这是对不同数据库的单独检查——在关于“干净”IP和声誉检查器的神话中详细讨论。
- 询问提供商关于地理数据。 如果运营商的子网根据RFC 9632发布了地理数据,国家和城市来自于它本身,而不是猜测。这是支持特定池的最有力论据。MaxMind通过地理数据进行的修正每个工作日进行一次,单次修正将在1-2个工作日内完成,然后进入下一个数据库版本。
这如何影响代理类型的选择
从测量中得出一个简单的规则。如果任务需要精确的地理位置——搜索引擎的本地结果、区域价格、地理定位广告——请使用固定线路的居民代理:那里中位误差在公里级别。如果任务需要平台对网络类型的信任——社交网络、即时通讯、移动应用——请使用移动代理,但要考虑到地图上的位置会在区域内浮动。将这两个要求结合在一个IP中在物理上是不可行的:这是蜂窝网络架构的限制,而不是池的质量。
对于粗略错误比例高的地区——亚洲、非洲——请在国家级别进行规划,而不是城市级别。根据研究数据,任何供应商的每第二或第三个地址都与实际位置相差超过一百公里。
结论
“确定的国家不对”几乎从不意味着您被代理欺骗。更常见的是,这意味着您比较了两个不同数据库的回答,并对它们不一致感到惊讶。正确的操作顺序是:弄清楚目标平台读取的是哪个数据库,确实在该数据库上检查地理位置,通过多个来源核对有争议的地址,并且不要要求移动网络提供城市级的精确度,因为它们没有也不会有。
请记住今年的主要数字:固定线路的3–16公里与移动网络的179–207公里。这解释了在您向支持部门提交工单之前,代理的地理定位问题的很大一部分。
