一个正经 IP 检测背后的免费数据源(以及怎么组合)
云厂商网段、Spamhaus DROP、PeeringDB、Tor 出口列表:各自能给你什么、哪里会错、怎么在不买商业库的前提下组合起来。
为什么免费源对大多数检测够用
商业 IP 数据贵且不透明。四个公开数据源就能覆盖店铺安全检测的大部分需求:
- 云厂商网段 —— AWS、GCP、Azure、Cloudflare 都公开自己的地址空间。
- Spamhaus DROP —— 被劫持/犯罪用途的网段,每天更新。
- PeeringDB —— 每个网络自报的类型:Cable/DSL/ISP、NSP、Content、Enterprise……
- Tor 出口列表 —— 唯一一个「构造上就精确」的数据源。
1. 云厂商网段
AWS 发布 ip-ranges.json,GCP 发布 cloud.json,Cloudflare 发布 ips-v4。解析成 CIDR 集合之后,即使不知道 ASN,也能回答「这是不是租来的云资源」。
意义在于:品牌表(Vultr、Hetzner……)只能覆盖明显的厂商,二线和转售的云会藏在普通名字后面。而网段匹配不看名字。
{ "aws": ["3.5.140.0/22", "…"], "gcp": ["34.117.0.0/16", "…"] }
2. Spamhaus DROP
DROP 列出 Spamhaus 认定的被劫持或犯罪用途网段。它不是住宅代理信号,但它是便宜的检测工具普遍漏掉的真实风险信号,而且免费。
两个注意点:每天在变(要带时间戳缓存);判定很激进。命中应当理解为「加分」,而不是「封人」。
3. PeeringDB
PeeringDB 是自报型注册库,有用的是 info_type:
| info_type | 通常含义 |
|---|---|
| Cable/DSL/ISP | 消费级 ISP——最接近「住宅」的东西 |
| NSP | 转接商——转发别人的流量 |
| Content | 内容网络(常是 CDN 或自建边缘) |
| Enterprise | 企业网,不是家庭 |
| Educational/Research | 高校与研究网络 |
「自报」意味着小 ISP 可能缺失。用它精修判决,不要用它推翻更强的信号。
4. Tor 出口列表
Tor 项目发布批量出口列表。只做精确 IP 匹配——出口是单个地址,不是网段。几小时刷新一次,出口会轮换。
组合起来的顺序
顺序很重要:
命中 Tor → Tor
命中云网段 → 数据中心
命中 DROP → 风险分 +,黑名单标记
PeeringDB Cable/DSL → ISP(除非有更强信号)
这样一套流水线,能在不付授权费的前提下接近商业数据源的效果。放弃的是什么:住宅代理识别(需要商业数据或实时行为信号)和 BGP 历史。
我们的组合和审计结果一直在 /methodology 公开,包括每个检查用的是哪个参考集。