网站看到的那个 IP:类型、归属与位置
三个问题依次问下去:它属于哪类地址、注册在谁名下、以及它自称在哪。三个答案回答的是不同的问题,而第三个最不可靠。
要判断一条连接,得依次问三个问题。第一层是地址的类型——任播、机房、住宅、运营商级 NAT,这决定了风险评分的起点。第二层是注册信息——ASN 归属、RDAP 记录、滥用联系人,这是你唯一能拿到「责任方」的地方。第三层才是位置——GeoIP 给你的经纬度,它看起来最像答案,也最容易骗人。三层查完,你才知道自己究竟在跟谁说话。
「我的 IP 是 203.0.113.42」这句话,大多数情况下并不成立。网站看到的那个地址,可能属于你家路由器背后的运营商,可能属于你三天前租的一台云主机,也可能属于一台在十几个国家同时广播同一个地址的 CDN 节点。搞清楚它属于哪一类,比记住那串数字有用得多。
一、任播:同一个地址,很多台机器
任播(anycast)让全球多个节点同时宣告同一条路由,数据包被送到 BGP 意义上最近的那一台。1.1.1.1 和 8.8.8.8 就是这么工作的:你在中国、你在德国,ping 到的是两台不同的服务器,地址却写着同一个。所以任播 IP 几乎从不是终端用户——它是基础设施的地址,看到任播地址就意味着这次连接落到了某个 CDN 或公共 DNS 的边缘。
二、机房:便宜、快、适合自动化
机房 IP 属于主机商。AWS、DigitalOcean、Hetzner 这些 ASN 下面的地址,几乎不可能是家庭宽带。它本身没有恶意,但机器人、爬虫和廉价代理偏爱这些网段——按小时计费,可以脚本批量创建。结果就是:机房段在几乎所有反滥用系统里的基线风险都更高。
三、住宅:天然「像人」,因此更贵
住宅 IP 来自真实家庭宽带,不需要任何伪装就很像普通用户。这也是住宅代理能形成一整条产业链的原因:把家用设备的光纤变成出口,按流量卖给别人。这类流量难识别,因为 ASN 看起来完全正常,剩下的线索只有行为——同一 IP 后面挂着几十个账号、会话只活几秒、请求节奏不像人手发出的。
四、NAT 与 CGNAT:地址往往不属于你
家里的路由器持有一个公网地址,靠 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 这些私有段分享给局域网内所有设备。IPv4 耗尽之后,运营商在你和互联网之间又加了一层——运营商级 NAT。成千上万个家庭共用一个公网地址,并且随会话生灭而轮换。
- 入站连接基本没戏:没有端口可以转发,家里跑不了对外服务。
- 地理位置会飘:你被看到的地址,可能属于几百公里外的另一个城市。
- 信誉是共享的:同一 NAT 后面任何人的滥用,都会变成你要做的验证码。
- 地址会变:重连一次就换一个,所谓「固定 IP」从来不在合同里。
也有好处。在 CGNAT 后面,你的个体可识别性低得多;而「封掉这个 IP」对服务方来说是把钝器,会同时惩罚几百个无辜用户——写这条规则之前值得先想清楚。
五、这个分类到底影响什么
- 欺诈评分:机房与任播抬高基线,住宅压低基线。
- 限流:对机房网段可以放心更严格,对住宅段则需要靠行为规则判断。
- 隐私:机房 VPN 藏住 IP 但极容易被标记;住宅代理更隐蔽,也更贵,伦理上更模糊。
- 取证:Tor 出口节点不用猜,它就是公开列表上的已知中继。
迟早会有一封滥用举报、一条防火墙规则,或者一句「这个 IP 为什么一直在打我的接口」,起点都一样:你手里只有一个 IP。好消息是注册信息是公开的、文档也齐全;坏消息是人们期待查到的东西,大部分并不存在。
六、第一步:先看 ASN,而不是地址
单独一个 IP 几乎说明不了什么,广播它的自治系统才说明是谁在运营。查一个前缀的 origin AS,你会得到一个类似 AS24940 的编号和一个组织名。这一跳就能回答大部分运维问题:这是主机商、移动运营商、大学,还是银行。
最快的路径是 looking glass 或 BGP 数据站(bgp.tools 是其中最不烦人的一个)。要写进脚本,经典做法是 Team Cymru 的 DNS 接口:把 IP 四段倒序拼在 origin.asn.cymru.com 前面,会以 TXT 记录返回「ASN | 前缀 | 国家 | 注册局 | 日期」,不需要 API key,也不用解析 HTML。
七、第二步:用 RDAP,别再用 whois
whois 是 1980 年代的文本协议,每个注册局的输出格式都不一样。RDAP 用 HTTPS 返回 JSON,现在五家 RIR 都提供。rdap.org 会帮你找到正确的服务器,所以一次 GET 就够了:
- https://rdap.org/ip/203.0.113.42 —— 返回网络对象、地址范围、所属 RIR,以及滥用联系人。
- https://rdap.org/domain/example.com —— 返回注册商、状态码与名称服务器。
- https://rdap.org/autnum/24940 —— 返回 AS 对象及其登记的联络方式。
先看 abuse 联系邮箱。那才是真正会处理举报的地址,通常跟通用联系字段里的那个不是同一个。注册局还有一个 remarks 字段专门写运营备注,服务商把滥用处理台迁移之后,一般就在那里说明。
八、第三步:搞清楚这个答案意味着什么
组织名是一个法律实体,不是一个人。2014 年分配给某云厂商的 /16,今天仍然是那家厂商的网络,哪怕里面住着一千个客户。登记在某国家级运营商名下的住宅地址,不告诉你具体是哪一位用户在用;而在运营商级 NAT 后面,这个答案从外部根本无法得知——只有运营商的日志里有,也只有运营商能查。
九、几乎所有查询教程都会弄错的三件事
- IP 不能定位到个人。它最多能对应到一个计费关系。任何超出这个范围的说法都是错的,尤其是在你准备公开发布的举报里。
- WHOIS 隐私保护不等于在掩盖犯罪。自 GDPR 生效以来,它已经是主流注册商所有域名的默认状态。
- 查不到记录不能证明任何事。未分配地址、刚委派的新段、RIR 的限流,都会返回空结果。
十、礼节:这些是共享服务
RDAP 服务器都有限流,而且会把限制写在文档里。把结果缓存起来——网络对象的变更周期是月,不是秒——并在请求里带上真实的 User-Agent,让运营方能联系到你而不是直接封你。用一个循环去批量富化一整个 /16,是所有人在那个网段上吃到 429 的最快方式。
每一个 GeoIP 数据库,都是把猜测包装成经纬度。有些猜得很好,有些是从 2011 年某人手工录入的表格里继承下来的,而界面从来不告诉你眼前这个属于哪一种。
十一、这些坐标是怎么来的
四个来源,按可信度从高到低排列。注册局公布哪个组织持有哪个地址块,所以国家级别的结果通常是「构造上就对」的。运营商公布自己的网络拓扑,能把范围收窄到地区。带 GPS 的设备会连同当时所用 IP 一起上报位置——只要某个 SDK 开口问,这就是现有最强的信号。最后是延迟测量,可以在几百公里误差内三角定位到目标。
所以城市字段本质上是一个统计产物:要么是使用该地址块的设备最多的地方,要么是运营商登记机房的位置,取决于那次合并里哪个信号赢了。
十二、四件稳定破坏它的东西
- VPN 或云代理:地址属于服务商,于是「位置」成了一座机房,有时还在跟用户毫无关系的国家。
- 运营商级 NAT 与移动核心网:整个都市区的用户可能都从某几个登记在同一个交换局的地址出来,城市对得很偶然。
- 任播:一个地址由几十个地点同时提供服务,任何单一坐标都不可能是对的。数据库通常挑一个,然后绝口不提。
- 卫星接入与企业 VPN 集中器:流量从一个网关入境,它后面所有人都继承了那个城市。
十三、准确率到底有多少
国家级别的准确率足以作为依据——在多数厂商、多数市场上都在九成以上,只有在边境地区由邻国运营商服务时会掉下来。地区和城市则是断崖式下跌:取决于国家和厂商,城市级准确率大致落在「通常是对的」到「对半分」之间,而记录里的半径字段往往才是最诚实的部分。如果数据库写着半径 50 公里,请相信半径,而不是那个图钉。
十四、为什么两家厂商会给出不同答案
它们买的数据不同、权重不同、刷新频率也不同。一家跟着 ISP 拓扑走,一家跟着设备信号走,第三家可能还背着几年前一次地址转让留下的归属。当两家对某个城市给出不同答案时,这个分歧本身就是信息:说明这个地址块本身是模糊的,两个答案都不该被当作事实。
十五、一条能防止它伤到你的规则
用国家做策略,用城市做展示,绝不把权利或支付判断压在城市上。内容授权、税务处理、法律管辖在多数法域里都是按国家或地区确定的,在那里错一个城市,就把一个技术误差变成了合同纠纷。涉及钱的场景,直接问用户,或者用他自己能控制的信号,并且永远留一个更正入口。
ipbox.one 会把 Cloudflare 报告的你的国家、城市、地区与经纬度,和 ASN 并列显示,方便你判断哪一项看起来合理,哪一项其实是你运营商机房的位置,而不是你桌子所在的地方。