IP 地理定位有多准确?独立研究的真实结论(2026)
IP 地理定位在国家级别准确率约 99%,城市级别则弱得多:独立研究发现中位误差为 11-18 公里。本文梳理证据并说明如何正确使用。

"IP 地理定位有多准确?"这类问题,诚实的回答是"和什么比?"国家、地区和城市是三种完全不同的准确率区间。大部分困惑,以及大部分糟糕的产品决策,都源于把它们压缩成一个数字。
本指南用独立、经同行评审的证据而不是营销宣传来回答这个问题。如果某个数字来自服务商给自己的数据打分,我们会注明;如果它来自用真实 GPS 坐标核验 IP 位置的学术研究,我们会引用该研究。这种区分正是本文的核心。

简短回答:按地理级别划分的准确率
放大得越细,准确率下降得越厉害。下面是整体情况,将供应商自报数据与独立测量结果并列对比:
| 精度级别 | 服务商自报(上限) | 独立测量 | 结论 |
|---|---|---|---|
| 国家 | 约 99.8% | 约 70-90%(免费数据库);主动测量 99.6% | 可靠 |
| 地区 / 州 | 约 80%(美国) | 移动网络更低(常常定位到错误地区) | 可用,但需谨慎 |
| 城市(约 50 公里内) | 约 66%(美国) | 中位误差约 11-18 公里;长尾严重 | 仅供参考 |
| 城市(约 1 公里内) | 宣传数字高得多 | 仅约 10-12% 的 IP | 不要依赖 |
国家级别确实可靠,因为区域互联网注册管理机构(RIR)分配的大型地址块几乎总是位于同一个国家。一个独立的主动测量引擎(RIPE IPmap,由 CAIDA 分析)达到了 99.58% 的国家级准确率。即使是免费数据库较低的独立测量数字,也足以支撑基于国家的决策:根据 Gharaibeh 等人(ACM IMC 2017)对路由器 IP 的同行评审测量,由 APNIC 总结,为 70-90%。
城市级别则完全是另一回事,这也是营销宣传与实际测量分歧最大的地方。
"城市级准确率"的真正含义
当某个数据服务商说它能"在 50 公里内"定位 66% 的美国 IP 时,请仔细理解:50 公里半径覆盖的是整个都市圈,而不是一个街区。而且这 66% 是服务商对自己数据的自我估计。当独立研究人员用真实 GPS 基准真值核验 IP 位置时,情况更不乐观:
- Dan、Parikh 和 Davison(IEEE/ACM Transactions on Networking)基于一个包含 2,700 万个主机名的数据集进行测试,测得两家领先商业服务商的城市级中位误差分别为 11.1 公里和 16.7 公里,反向 DNS 方法则为 43.7 公里。极大的 RMSE 意味着存在一条误差大得多的长尾。
- 一项经同行评审的 IEEE Transactions on Mobile Computing 研究使用 2020-2021 年的 GPS 数据,发现中位误差约为 13.6-18.9 公里,只有 10.6-12.1% 的样本在 1 公里以内,最多有 24% 的样本误差超过 100 公里。
- Saxon 和 Feamster(PAM 2022)直截了当地得出结论:在"城市等人口稠密地区"依赖 IP 地理定位"为时尚早"。
因此,对城市级 IP 地理定位的现实认知应该是:对某个都市圈的最佳猜测,而且确实有可能完全定位到错误的城市。 用它来"以正确的货币显示价格"没有问题,用它来"因为用户看起来在错误的城镇而拦截他们"则很危险。
IP 地理定位的实际原理
没有任何单一信号能够确定一个 IP 的位置,因此服务商会组合多种信号。这种融合也正是准确率差异如此之大的原因:
- 注册分配(RIR / WHOIS): 基础层。RIR 将地址块分配给各网络,能可靠地给出国家,通常还能给出地区。
- ASN 与 BGP 路由: 由哪个自治系统宣告该地址、它如何被路由,可以缩小该网络的覆盖范围。
- 反向 DNS: 主机名有时会编码城市或机场代码。有用但噪声大(根据上述 ToN 研究,单独使用时中位误差约 43.7 公里)。
- 基于延迟的主动测量: 将网络往返时间换算成与已知参考点的距离。RIPE IPmap 方法从拓扑上靠近目标的探针发起 ping。CAIDA 测得其中位误差为 6 公里,但第 95 百分位误差为 344 公里:在互联互通节点附近很精确,远离这些节点则不可靠。
- 众包的 GPS 到 IP 信号: 将真实设备坐标与其使用的 IP 配对。这是实现城市级精度最强的信号,也是上述学术基准真值数据集的基础。
关于"它如何运作",诚实的说法是:数据库将这些信号融合成一个最佳估计,再加上一个准确半径,而这个半径的大小恰恰是大多数团队忽略的部分。
准确率为何下降,又对谁影响最大
一个全局准确率数字掩盖了巨大的差异。正如最大的服务商也承认的,准确率"因国家、距离、IP 类型(蜂窝网络与宽带、IPv4 与 IPv6)以及 ISP 的做法而存在很大差异"。主要的拖累因素有:
- 移动和蜂窝网络 IP。 这是迄今为止最糟糕的情况。一项 2026 年的测量研究发现,移动网络上的中位误差为 179-207 公里,而固定网络上为 3-16 公里,差了 10 倍以上,原因是运营商在中央网关而不是在设备上分配公网地址。(这一数据来自一篇近期预印本;具体数字仅供参考,但约 10 倍的差距在各类文献中是一致的。)
- CGNAT(运营商级 NAT)。 一个公网地址为大范围内的数千名用户提供出口。您无法有意义地对 CGNAT IP 进行"城市定位",而拦截一个这样的 IP 就会殃及一大批人。
- VPN、代理和 Tor。 它们会刻意改变 IP 的表面位置。正确的应对方式是检测出匿名化工具并据此评分,而不是信任地理定位结果;请参阅我们关于检测匿名流量而不拦截真实客户的指南。
- Apple iCloud Private Relay。 这些是合法的付费用户,其流量通过中继出口,只保留大致区域,而不保留城市。把这视为可疑,就会拦截真实客户。
- 动态重新分配和 IP 租赁。 ISP 会重新分配地址,地址块也会通过日益增长的 IPv4 转让市场易手,速度往往快于注册记录和数据库的更新。
- IPv6。 在独立测试中通常表现不如 IPv4,因为数据库为其积累的基准真值更少。
没人宣传的时效问题
有一个因素在悄悄破坏准确率:时间。 地理定位数据库只是一个快照。一旦 ISP 重新分配某个地址段、把地址块租给另一个国家的公司,或者改变移动网络前缀的用途,所有静态数据库在下次更新之前都是错的,而大多数数据库的更新周期都很慢。上个季度还是芝加哥某户家庭的地址,这个季度可能已经是法兰克福的一个数据中心地址段。
因此,最有用的问题不是"这个 IP 在哪个城市?",而是"我们有多大把握,上一次验证是什么时候?"持续依据实时网络证据重新验证的地理定位,胜过一张过时的查询表,即使后者口碑不错。这是我们在 GeoIPHub 方法论中贯彻的原则。
您的使用场景实际需要多高的准确率?
好消息是:大多数真实使用场景并不需要城市级精度,而那些自认为需要的场景通常也不应依赖它。国家和地区规则,例如用于访问控制和本地化的 IP 地理围栏或执行区域内容授权,恰好处在数据最擅长的精度级别。
| 使用场景 | 实际需要的精度 | 过度信任城市的风险 |
|---|---|---|
| 欺诈与风险评分 | 国家/地区,作为众多信号之一 | 误拒移动/VPN 用户 |
| 法规地理合规 | 国家(有时是地区) | 拦截合法用户;合规缺口 |
| 内容与货币本地化 | 国家,偶尔是地区 | 轻微的用户体验困扰,风险低 |
| 广告定向 | 最多到地区/都市圈 | 因定位错误的展示而浪费预算 |
| 流媒体 / 体育赛事地区限制 | 地区,但这是最难的情况 | 屏蔽了附近的付费客户 |
反复出现的失败模式是过度拦截:仅仅因为某个 IP 看起来位于错误的城市就硬性拒绝用户,而该用户只是在用手机、处于 CGNAT 之后或使用了隐私中继。由于 IP 地理定位本质上不精确,城市级的硬性拦截就是一台对准您真实客户的误报机器。
各行业的 IP 地理定位准确率需求
您需要的精度,以及过度信任城市的代价,会随着您要保护的对象而变化。下面是同一个准确率上限在最常关心这一问题的行业中如何体现:
| 行业 | 所需精度 | 过度信任城市的危害 |
|---|---|---|
| 金融科技与银行 | 国家/地区,作为一个风险信号 | 在登录或转账过程中拒绝使用移动网络或隐私中继的真实客户 |
| 电子商务与交易平台 | 国家,用于税费、货币和粗粒度风险 | 在结账时拦截 IP 被解析到错误都市圈的合法买家 |
| 游戏 | 地区,用于匹配和授权 | 惩罚处于 CGNAT 或移动网络之后的玩家,这些是最难定位的 IP |
| SaaS:账户安全与登录风险 | 国家/地区,用于不可能出行和新位置检查 | 当城市在宽带和蜂窝网络之间跳变时,把正常登录标记为账户接管 |
| 信任与安全 / 安全团队 | 国家/地区,加上匿名化工具信号 | 忽略了真正的信号是 VPN 或代理,而不是城市不匹配 |
这一模式在每个垂直领域都会重复出现:国家和地区承载决策;城市是背景信息,而不是证据。 尤其在金融科技和账户安全领域,代价高昂的错误是把城市不匹配当作欺诈,而用户其实只是在用手机。请将地理定位与连接类型以及 IP 欺诈评分阈值结合使用,而不是仅凭位置进行拦截。
最佳实践:使用半径,而不是图钉
如果您只从这些研究中记住一件事,那就是:为不确定性而设计。
- 使用准确半径和置信度评分,而不仅仅是城市名称。 每次查询都应带有它有多大把握。低置信度的城市是一条线索,而不是事实。
- 让精度与决策相匹配。 任何有重大后果的决策都使用国家/地区;城市只用于即使出错也能平稳降级的低风险个性化。
- 组合多种信号。 将地理定位与连接类型、VPN/代理/住宅代理检测以及行为结合起来。任何单一信号都不应触发硬性拦截。
- 对移动网络、CGNAT 和 Private Relay 做特殊处理。 检测出它们,并放宽地理上的严格程度,而不是惩罚这类连接类型。
- 绝不定位个人。 将 IP 用于大致的、聚合的、概率性的决策;绝不用于识别某个家庭或个人。
这正是 GeoIPHub 在每次查询中返回的不只是一个城市字符串的原因。您会得到连接类型、匿名化工具标记和置信度信号,从而可以对位置进行加权,而不是盲目信任它:
示例值,并非真实查询结果(字段名称和结构与线上 API 一致;我们不公开真实家庭 IP 的查询结果):
{
"geo": { "country_code": "US", "region": "Illinois", "city": "Chicago", "geo_confidence": 0.8 },
"asn": { "connection_type": "residential", "access_type": "cable" },
"detection": { "is_vpn": false, "is_relay": false, "is_mobile": false, "is_anycast": false },
"threat": { "is_cgnat": false }
}
一个 geo_confidence 较高、且没有匿名化工具标记的住宅连接,可以用于地区级决策。移动连接(detection.is_mobile)、CGNAT 地址段(threat.is_cgnat)、任播地址、中继,或者较低的 geo_confidence,都在提示您放松对地理位置的依赖,转而依靠其他信号。您可以用免费的 IP 查询工具或我的 IP 是什么对任意地址进行尝试,也可以阅读完整 API 参考文档。
坦诚的局限
让我们以大多数服务商博客不会采用的方式坦诚一点:城市级 IP 地理定位的准确率存在一个上限,任何供应商都无法靠营销突破它。在城市精度上,付费数据库并不总是比免费数据库好得多(Saxon 和 Feamster)。最难处理的 IP 类型(移动网络、CGNAT、基础设施)会持续产生较大误差,而 IPv4 转让市场也在不断侵蚀昨天的基准真值。任何承诺仅凭 IP 就能达到精确到街道级别准确率的人,卖的都是营销数字,而不是测量数字。
这并不是否定 IP 地理定位的理由。它是互联网上可扩展性最强的位置信号,在国家和地区级别确实非常出色。这是要诚实地使用它的理由:把它当作一个概率性的、基于半径的信号,持续验证,与其他信号结合,绝不让它承担超出能力的任务。这样使用时,它是欺诈防范和个性化中最有用的信号之一。把它当作精确定位来用,它就会悄悄拦截您的真实客户。
信任国家,把城市读作一个半径
2026 年的 IP 地理定位有多准确?国家级别近乎确定,地区级别扎实可靠,城市级别充其量只是近似。 移动网络、CGNAT 和隐私中继流量会严重拉低城市精度。请基于这一现实来构建系统:读取置信度和连接类型,而不只是城市;让精度与风险相匹配;并把每个城市都当作一个半径,而不是一枚图钉。
常见问题
IP 地理定位有多准确?
这完全取决于您需要的精度级别。国家级别的准确率非常高:服务商自报约 99.8%,独立的主动测量也达到约 99.6%。地区/州级别大约为 80%。城市级别是短板。将 IP 位置与真实 GPS 坐标进行比对的同行评审研究发现,中位误差约为 11-18 公里,只有约 10-12% 的地址被定位在 1 公里以内,并且存在超过 100 公里误差的长尾。
IP 地理定位能精确到找到某人的具体住址吗?
不能。IP 地理定位本质上是不精确的,绝不应用于定位特定个人或家庭;即使是最大的数据服务商也明确声明了这一点。它估算的是一个大致区域(城市、地区或准确半径),而不是街道地址。把它当作精确位置,是最常见、危害最大的错误。
为什么城市级 IP 地理定位比国家级差那么多?
国家级之所以准确,是因为区域互联网注册管理机构分配的大型 IP 地址块几乎总是位于同一个国家。而要确定城市,就必须推断某个地址在该地址块内的实际物理位置,这依赖于过时的注册数据、ISP 的路由选择,以及延迟等无法与街道精确对应的信号。移动网络、CGNAT、VPN 和动态重新分配的 IP 会让这一切更加困难。
在移动网络和 CGNAT 网络上,IP 地理定位的准确率如何?
差得多,大约比固定宽带差 10 倍。一项 2026 年的测量研究发现,移动网络上的中位误差为 179-207 公里,而固定网络上为 3-16 公里,原因是运营商在中央网关分配地址,并让大量用户共用一个运营商级 NAT 地址。切勿在城市粒度上对移动/CGNAT IP 进行硬性拦截或硬性本地化。
IP 地理定位的准确率是如何测量的?
以位于给定准确半径内的 IP 地址所占百分比来衡量,并与已知的 IP 到位置对应关系进行比对。可信的做法是使用独立的基准真值(来自设备的真实 GPS 坐标),而不是由服务商给自己的数据打分。供应商给出的“准确半径”数字是上限;独立 GPS 研究得出的真实误差始终更大。
IP 地理定位适合用来做什么,又应避免用来做什么?
适合的用途:国家/地区级的欺诈和风险信号、大范围的内容本地化、粗粒度的合规,以及标记不一致。有风险的用途:任何根据精确城市对用户进行硬性拦截或惩罚的做法,尤其是针对移动/CGNAT/隐私中继流量。请使用准确半径和置信度评分、组合多种信号,并在不确定时平稳降级,而不是过度信任单一城市。
GeoIPHub API 背后的团队
由 GeoIPHub 团队撰写,即构建 GeoIPHub IP 情报 API 及其扫描器的团队。草稿在 AI 辅助下完成,并由团队编辑;除非标注为示例,API 示例均为针对线上 API 的真实查询。


