理解 IP 地址与归属地查询的技术基础
IP 地址(Internet Protocol Address)是分配给联网设备的数字标识,用于在网络中定位并寻址。目前主流有两套体系:IPv4 与 IPv6。
IPv4 是 32 位地址,通常写成四段点分十进制,例如 8.8.8.8。每段取值范围是 0–255,因此理论上共有约 43 亿个地址。由于互联网设备远超这个数量,IPv4 地址早已分配告罄,这也是 NAT 与 IPv6 普及的背景。
IPv6 是 128 位地址,写成八组十六进制,例如 2001:4860:4860::8888。地址空间极其庞大,但第三方 IP 库对 IPv6 的归属数据覆盖仍不完善,这也是本工具暂只支持 IPv4 的原因。
RFC 1918 预留了三段地址供局域网内部使用,它们不会出现在公共互联网上:
10.0.0.0 – 10.255.255.255(10.0.0.0/8)172.16.0.0 – 172.31.255.255(172.16.0.0/12)192.168.0.0 – 192.168.255.255(192.168.0.0/16)这些地址在全球被无数个局域网重复使用,不存在唯一归属,因此查询结果没有意义。此外还有回环地址 127.0.0.1、链路本地地址 169.254.x.x 等保留段,同样不可查询。
CIDR(无类别域间路由)用「地址/前缀长度」表示一段连续地址,例如 8.8.8.0/24 表示从 8.8.8.0 到 8.8.8.255 共 256 个地址。前缀长度越小,包含的地址越多:
/32 — 单个地址/24 — 256 个地址,常见的局域网或小型分配单元/16 — 约 6.5 万个地址/8 — 约 1677 万个地址,通常是分配给大型机构或区域注册机构的块IP 归属地数据本质上是把「地址段 → 地理位置/机构」做成映射表。查询时先找到 IP 所属的最具体地址段,再取出对应记录。这也解释了为什么相邻 IP 常常返回相同结果——它们本就在同一段里。
互联网由大量独立运营的网络互联而成,每个这样的网络称为一个自治系统(Autonomous System, AS),并拥有唯一编号,即 ASN。自治系统之间用 BGP 协议交换路由信息。
一些常见的 ASN 对应关系:
ASN 的实用价值在于:它反映的是「谁在运营这个网络」,而不是「设备在哪里」。因此在排查异常流量时,ASN 比城市字段更可靠。
没有哪个协议会「上报」设备的地理位置。现有定位能力主要来自四条路径:
区域互联网注册机构(APNIC、ARIN、RIPE 等)在分配地址时会记录申请机构与国家。这是最权威的来源,但只到国家级,且数据可能过时。
通过从多个已知位置向目标 IP 发起探测,用延迟推算物理距离,再三角定位。可到城市级,但在网络拓扑复杂时误差很大。
借助曾授权过定位的设备的 GPS/Wi-Fi 数据,反推该 IP 使用者的活动区域。精度最高,但依赖大量样本,且涉及隐私争议。
从网页中的地址、邮编、语言、时区等公开信息推断。精度不稳定,通常作为补充。
商用 IP 库通常混合使用上述方法,并持续修正。这也是为什么不同服务商对同一个 IP 可能给出不同结果——它们的数据源与算法不同。
结论:把 IP 定位当作概率信号而非事实。它在内容分发、粗略风控、日志分析中很有用,但不适合单独作为决策依据。