按 IP 检测机器人:IP 能告诉您什么,不能告诉您什么
用五个真实 IP 测试按 IP 检测机器人:Googlebot、云服务器、Tor 出口、Censys 扫描器和 iCloud 中继。每种信号能证明什么,又会漏掉什么。

这个缺口之所以重要,是因为机器人如今已占请求的多数。Imperva 的 2026 年恶意机器人报告发现,2025 年自动化流量占其观测到的网络流量的 53%,仅恶意机器人就占 40%。所以在您的登录表单前,真正有用的问题很少是“这是机器人吗?”,而是“这是哪一种机器人,要不要放行?”
这些种类值得点出名字:经过验证的爬虫、未经验证的自称机器人、冒充者、AI 代理和用户触发的抓取器、内容和价格爬取程序、撞库者和扫描器。下面我们展示针对每一类机器人各选一个 IP 的真实查询结果,然后指向深入讲解各项工作的指南:通过 IP、反向 DNS 和已公布地址段验证爬虫、保护注册和结账,以及在不锁死真实用户的前提下进行速率限制。

如何通过 IP 地址检测机器人:六种信号
要通过 IP 地址检测机器人,请查询来源 IP 并解读六种信号:网络类型、反向 DNS、已公布的爬虫地址段、匿名化标记、扫描器标记,以及其地址前缀向您发送了多少请求。IP 比 User-Agent 更适合作为起点,原因很简单。请求头是客户端自己选择的文本,而 HTTP 请求需要完成 TCP 握手,所以来源 IP 无法被随意伪造。真正的绕过办法是租用或代理他人的 IP,下面的章节会讲到。
我们于 2026-10-07 为每类机器人做了一次匿名的 GeoIPHub API 查询:
curl -s https://api.geoiphub.com/v1/lookup/66.249.66.1
| IP | 机器人类别 | 网络(ASN) | 关键标记 | fraud_score | recommended_action | detection_methods |
|---|---|---|---|---|---|---|
| 66.249.66.1 | 经过验证的爬虫 | Google (AS15169) | is_crawler: true, crawler.name: Googlebot, verified: true | 0 | allow | datacenter_ip, no_ptr_datacenter, verified_crawler |
| 104.248.50.21 | 数据中心服务器 | DigitalOcean (AS14061) | is_hosting: true | 15 | allow | datacenter_ip, no_ptr_datacenter |
| 185.220.101.1 | Tor 出口 | Stiftung Erneuerbare Freiheit (AS60729) | is_tor: true, is_spammer: true | 100 | block | tor_exit, datacenter_blocklisted, rdns_tor, known_spammer |
| 162.142.125.10 | 互联网扫描器 | Censys (AS398324) | is_scanner: true, is_hosting: false | 0 | allow | (空) |
| 104.28.46.99 | 隐私中继 | Cloudflare (AS13335) | is_relay: true, relay_provider: iCloud Private Relay | 9 | allow | relay_ip |
沿着评分列往下看,主要的教训就显现了。在 2026-10-07 的 GeoIPHub 查询中,只有 Tor 出口被封禁(fraud_score 为 100)。Googlebot 得分 0,Censys 扫描器得分 0,iCloud Private Relay 出口得分 9,DigitalOcean 服务器得分 15,全部是 allow。评分回答的是“这个 IP 有多危险?”,而不是“这是机器人吗?”得分 15 的数据中心服务器和得分 0 的扫描器都是自动化,但两者本身都不危险。名单匹配是这里最可靠的信号;网络类型标记属于推断,所以它们对评分的影响很小。这只是五次单独的查询,不是基准测试,数值会随着地址段的变化而变动。
下面说明每种信号告诉您什么,以及细节在哪里:
- 网络类型(
asn.asn_type、asn.user_type、detection.is_hosting)。ASN,即宣告该 IP 的网络,告诉您这是谁的网络。数据中心(托管)IP,即 API 中的detection.is_hosting,是第一道过滤,因为大多数机器人运行在数据中心,而大多数人不是。单独来看它是个较弱的判定,这就是 DigitalOcean 只得 15 分的原因。我们的解析文章 什么是数据中心 IP 地址讲解了如何检测托管,以及什么情况下它是合法的。 - 反向 DNS(
network.ptr_record、fcrdns_valid)。经过正向确认的主机名可以指出运营方。Tor 出口的 PTR 以tor-exit.artikel10.org结尾,触发了rdns_tor。我们这边有一个限制:API 没有存储 Googlebot 或 DigitalOcean 这两个 IP 的 PTR,尽管dig -x对两者都能返回实时名称,所以它们会触发no_ptr_datacenter。当主机名很重要时,请自行执行 DNS 检查。 - 已公布的爬虫地址段(
threat.crawler)。把 IP 与运营方自己的地址段文件相匹配,是证明机器人身份属实的最干净的证据。GeoIPHub 加载了来自 Google、Microsoft(Bing)、Apple、DuckDuckGo、OpenAI、Anthropic、Perplexity、Mistral、Common Crawl 和 Ahrefs 的 19 个官方地址段数据源,每日重新抓取。 - Tor、VPN、代理和中继标记(
detection.is_tor、is_vpn、is_proxy、is_relay)。这些标记表明真实客户端隐藏在别人的网络之后。参见 如何通过 IP 检测 Tor 流量 和 VPN 与代理检测的工作原理。 - 扫描器标记(
threat.is_scanner)。全互联网范围的扫描器会探测它们能触及的每个地址。 - 每个前缀的请求频率。这一项由您而不是我们来做:在 IPv6 上按 /64 统计请求数,如下面的速率限制章节所述。
扫描器的结果让我们感到意外,所以这里给出真实响应的精简版本:
{
"ip": "162.142.125.10",
"asn": {
"asn": 398324,
"org": "CENSYS-ARIN-01 - Censys, Inc.",
"asn_type": "unknown"
},
"detection": { "is_hosting": false, "is_proxy": false, "is_vpn": false },
"threat": {
"is_scanner": true,
"threat_types": ["scanner"],
"crawler": { "verified": false, "name": "none" }
},
"scoring": {
"fraud_score": 0,
"recommended_action": "allow",
"detection_methods": []
}
}
扫描器标记已设置,但它不会给评分增加任何分数,而且 Censys 的网络也没有被归类为托管。如果您只依据 recommended_action 来判断,扫描器流量就会通过。如果想把它从分析数据中剔除或在防火墙处封禁,请直接读取 threat.is_scanner。
机器人 IP 地址检查:这个爬虫真的是它自称的那个吗?
机器人 IP 地址检查是通过把自称爬虫的 IP 与运营方公布的地址段文件,或与经过正向确认的反向 DNS 名称进行匹配来确认其身份,绝不能信任 User-Agent。任何客户端都可以在该请求头里发送 Googlebot。只有运营方才能控制自己的 IP 地址段。
我们的 API 只能看到 IP,看不到您的请求头,所以比较工作要由您的代码完成:把声称的机器人所属运营方与 threat.crawler.verified 和 threat.crawler.operator 对照。不要依据 threat.crawler.name 来判断:它只是文件的标签,一个文件可能涵盖多个机器人。在我们的查询中,66.249.66.1 返回了 verified: true、name: "Googlebot"、verification_method: "ip_range_list"。DigitalOcean 服务器返回的是 name: "none",所以它声称自己是 Googlebot 就属于未验证。这意味着“未被验证为该机器人”,而不是证明它是假的。
ClaudeBot 和 PerplexityBot 由 Anthropic 和 Perplexity 公布的地址段文件覆盖:2026-10-08,216.73.216.10 返回了 verified: true、name: "ClaudeBot"、operator: "Anthropic"。没有公布地址段文件的机器人仍需使用运营方自己的方法,例如反向 DNS。使用 Web Bot Auth 对请求签名的机器人,可以通过签名而不是 IP 来验证。
细节分布在四篇文章中。爬虫验证指南涵盖反向 DNS、CIDR 文件和 Web Bot Auth 签名。如何验证 Googlebot 并识破假冒的 Googlebot涵盖 Google 的三组爬虫及其地址段文件。GPTBot、OAI-SearchBot 与 ChatGPT-User 对比说明该封禁哪个 OpenAI 机器人以及如何检查每一个。我们的经过验证的爬虫 IP 列表列出了全部 19 个文件的日期以及允许名单代码。
基于 IP 的机器人检测不能告诉您什么
基于 IP 的机器人检测无法告诉您某个家庭 IP 是否正被当作住宅代理租出去,而且 GeoIPHub 不检测住宅代理。住宅代理网络会把机器人的请求经由某人的家庭连接转发出去。在 IP 层看来,这个请求就像那户人家自己的流量:消费级 ISP、真实的城市、没有托管标记。
我们的 is_residential_proxy 字段只是基于 ASN 的粗略推断,而不是检测,所以请当它不存在这个信号。轮换让问题更加严重。一个代理池可以为每个请求分配不同的家庭 IP,所以按 IP 计数的计数器永远不会上升。
僵尸网络有同样的盲区。被感染的家用设备从普通的住宅 IP 发出机器人流量,而僵尸网络数据源覆盖的是已知的基础设施(例如命令与控制服务器),并非每一台被感染的设备。机器人绕过 IP 检测通常有四种方式:轮换地址、租用住宅代理、在 IPv6 /64 内循环使用,以及通过移动代理转发,即与真实手机共享运营商 IP。
- 住宅代理。无法检测。请用行为来发现它们:每个账户的频率、设备和会话不匹配。
- User-Agent 和其他请求头。API 永远看不到它们。请在您自己的代码中对照声称的内容。
- 谁在操作。在同一个办公室 IP 上,无头浏览器和真人在这一层看起来毫无差别。
- 最近两天内公布的地址段。我们每天重新抓取爬虫地址段文件并每天重建查询数据库,所以全新的地址段可能最多约两天保持未验证状态。
- 我们 19 个数据源之外的爬虫。无论它们如何自称,都没有经过验证的身份。
- 扫描器风险。
is_scanner会被设置,但在我们的查询中并不会提高fraud_score。
弥补这些缺口的各层都在 IP 之外:行为与频率、设备指纹、JA3 和 JA4 等 TLS 指纹、验证挑战,以及面向主动声明身份的机器人的 Web Bot Auth。关于住宅一侧,请阅读住宅代理欺诈检测了解查询能显示什么、不能显示什么,并阅读为什么您的流量中有这么多住宅代理了解它们为何如此之多。
如何在注册、登录和结账中检测机器人流量
要在注册、登录和结账环节检测机器人流量,请在操作发生的那一刻执行 IP 查询,然后结合您的应用已经掌握的信息:每个账户、每个前缀和每台设备的尝试次数。IP 缩小范围,您自己的计数器做出决定。
每个端点对信号的权衡各不相同:
- 登录。撞库会把尝试分散到许多 IP 上,通常是 IP 层无法标记的住宅 IP。Tor 和托管标记仍能抓住偷懒的那一部分。我们的账户接管与撞库指南讲解了分层手册。
- 结账。结账时出现的数据中心 IP 可能是合法的 AI 购物代理,所以托管只是加权输入而不是封禁依据:那台 DigitalOcean 服务器得分 15,
allow。参见如何在结账环节阻止 AI 购物代理欺诈。 - 广告点击。托管和 Tor 标记标出了值得排除在转化数据之外的点击。我们的按 IP 地址检测点击欺诈指南展示了评分方式。
- 注册。适用相同的区间,另外还要检查是否有许多账户来自同一个前缀。
默认动作请使用评分区间:allow 至 25,review 至 50,step_up 至 75,block 高于 75。对评分不处理的标记(例如 is_scanner),请添加您自己的规则。
如何在不误伤真实用户的前提下对机器人 IP 限速
按对应单一行为主体的单位对机器人 IP 限速:IPv6 上按 /64,IPv4 上按单个地址,并针对 CGNAT 和 iCloud Private Relay 这类共享出口进行调整。统计错了单位,要么漏掉机器人,要么惩罚一群人。具体到 AI 爬虫,允许、验证还是限速的决定,在是否应该封禁 AI 爬虫中有详细讨论。
在 IPv6 上,一个用户会获得一整个 /64,并且可以免费在其中轮换,所以按单个地址计数的计数器永远不会触发。我们的按 /64 前缀对 IPv6 限速和封禁指南展示了键函数,以及何时扩大到 /56 或 /48。
在 IPv4 上则相反:许多人共用同一个地址。运营商级 NAT 会让整个街区的人躲在一个 IP 后面。API 把它标记为 threat.is_cgnat,评分会为 CGNAT 地址设置风险上限。iCloud Private Relay 对 Apple 用户也是如此:我们的中继 IP 得分 9,allow,方法为 relay_ip。
中继的地理定位也需要小心。我们的查询把 104.28.46.99 定位到了安哥拉的罗安达。那是中继的出口,并不能证明用户的所在位置,所以不要据此进行地域封禁。我们的检测匿名化流量而不误伤真实客户指南讲解了 Apple 公布的出口列表以及如何对待中继。
按 IP 检测机器人,从哪里开始
要依据按 IP 检测机器人的结果采取行动,请把每种信号映射到一个默认动作(如果针对的是单个可疑地址,请改为遵循完整的 IP 调查手册):允许经过验证的爬虫,对未经验证的爬虫声称进行限速,对 Tor 封禁或升级验证,并在 IP 看起来是住宅的地方使用行为信号。下表中每一行是一种信号、它能证明什么、一个默认动作,以及涵盖它的文章。
| 信号 | 它告诉您什么 | 默认动作 | 下一步阅读 |
|---|---|---|---|
| threat.crawler.verified 且名称与 User-Agent 一致 | 该机器人身份属实 | 按爬虫许可放行 | 爬虫验证指南 |
| 爬虫 User-Agent,crawler.name 为 "none" | 该声称未经验证(不是造假的证据) | 限速或发起挑战 | 验证 Googlebot;OpenAI 机器人对比 |
| detection.is_hosting: true,别无其他 | 数据中心 IP:脚本、代理或企业代理 | 放行,关注频率 | 什么是数据中心 IP |
| detection.is_tor: true | 匿名化出口,常在封禁名单上 | 对敏感操作封禁或升级验证 | 如何检测 Tor 流量 |
| threat.is_scanner: true | 全互联网范围的扫描器;评分仍然很低 | 从分析数据中剔除,或在防火墙处封禁 | 本文 |
| detection.is_relay: true | 承载真实用户的隐私中继 | 放行;不要相信它的城市 | 匿名化流量与真实客户 |
| 同一个 IPv6 /64 发出大量请求 | 同一个主体在轮换地址 | 对 /64 限速,持续出现则扩大范围 | 按前缀对 IPv6 限速 |
| 消费级 ISP、评分干净、行为像机器人 | 可能是住宅代理;IP 无法确认 | 使用行为和会话信号 | 住宅代理欺诈检测 |
想最快看清自己的流量处于什么位置:从昨天的日志中取出最繁忙的 20 个 IP,逐个粘贴到免费的 IP 查询工具中,或者无需密钥运行 curl -s https://api.geoiphub.com/v1/lookup/<ip>(每分钟 30 次查询),使用免费密钥则为每天 1,500 次。按第一张表中的机器人类别对它们排序,您就会知道应该先阅读这张地图的哪一部分。
常见问题
仅凭 IP 地址能检测出机器人吗?
只能部分做到。IP 查询能告诉您请求来自哪种网络:已公布的爬虫地址段、数据中心服务器、Tor 出口、VPN、隐私中继或已知扫描器。但它无法判断请求是人发的还是脚本发的,也认不出通过住宅代理网络被租出去的家庭 IP。请把 IP 作为一项输入,与请求频率、账户历史和设备信号一起使用。
如何检查某个机器人 IP 地址是否是真正的爬虫?
把 IP 与运营方公布的地址段文件进行匹配,或者先做反向 DNS 查询,再用正向查询加以确认。User-Agent 什么也证明不了,因为任何客户端都可以发送任意字符串。在我们 2026-10-07 的查询中,66.249.66.1 返回 threat.crawler.verified 为 true、名称为 Googlebot,而一台 DigitalOcean 服务器则完全没有返回爬虫身份。我们的爬虫验证指南逐步讲解了反向 DNS、地址段文件和 Web Bot Auth。
按 IP 检测机器人的准确度如何?
取决于信号。与已公布名单的匹配是强有力的证据:GeoIPHub 检查来自 10 个运营方的 19 个官方爬虫地址段数据源(每日重新抓取),以及 Tor Project 的出口列表(每 6 小时刷新)。托管、VPN 和代理标记属于推断;托管检测使用 853 个精心整理的托管 ASN,外加 10 家云服务商的官方地址段。住宅代理无法被检测到。我们不公布准确率百分比,本文中的五次查询是示例,而不是基准测试。
高欺诈评分意味着这个 IP 是机器人吗?
不是。评分衡量的是风险,而不是自动化程度。在我们的五次查询中,Censys 扫描器得分为 0,DigitalOcean 服务器得分为 15,两者都是 allow,尽管显然都是自动化的。Tor 出口得分为 100,block。请通过标记来了解流量是什么,通过评分来了解它有多危险。
GeoIPHub 能检测住宅代理吗?
不能。is_residential_proxy 字段只是基于 ASN 的粗略推断,而不是检测。通过代理网络租出去的家庭 IP,在 IP 层看起来与普通家庭连接无异,因此要识别它需要行为和会话信号。
GeoIPHub API 背后的团队
由 GeoIPHub 团队撰写,即构建 GeoIPHub IP 情报 API 及其扫描器的团队。草稿在 AI 辅助下完成,并由团队编辑;除非标注为示例,API 示例均为针对线上 API 的真实查询。


