SEO 百科

AI 爬虫的 IP 与验证

本页目录

AI 爬虫的 IP 与验证

AI 爬虫的 IP 与验证用来确认一个请求是否来自某家爬虫,依据有两条:来源 IP 的反向域名解析,以及官方公布的 IP 段列表[5]。用户代理字符串可以被伪造,Google 在抓取工具文档里提醒过这一点[6]。站长要判断该放行还是该拦截,就得把这两条依据用起来。

用户代理的可伪造性

用户代理字符串是请求头里的一段文字,客户端可以任意填写[6]。

攻击者常把用户代理字符串写成 Googlebot,借放行规则混进站点[5]。

所以看到声称来自爬虫的请求,先不要直接放行,要回到来源 IP 上核对。

反向域名解析

做法分两步[5]。

  1. 对日志里的来源 IP 做反向解析,得到主机名;
  2. 再对该主机名做正向解析,确认解析回来的地址与原始 IP 相同。

两步都吻合,才说明记录不是伪造的[5]。

Google 给出的一段示例。

host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.

host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1

Google 的常用抓取工具,主机名的反向 DNS 掩码以 crawl- 开头,以 .googlebot.com 结尾,中间是四段数字;另有一类以 geo-crawl- 开头,以 .geo.googlebot.com 结尾[6]。

Apple 说明,Applebot 的流量一般按反向解析来识别,解析的域名落在 *.applebot.apple.com 上[4]。

官方公布的 IP 段列表

各家把 IP 范围放在公开的 JSON 文件里,定时拉取即可用于防火墙。

公司 IP 列表
Google googlebot.json
OpenAI gptbot.json、searchbot.json、chatgpt-user.json
Anthropic claude.com/crawling/bots.json
Perplexity perplexitybot.json、perplexity-user.json
Apple applebot.json

OpenAI 按令牌分别公布 IP 段,每个抓取工具一份[1]。

Perplexity 建议,站点若用了 Web 应用防火墙,要把这些爬虫显式放行,否则可能被一起拦住[2]。

Anthropic 提醒,只用封 IP 的办法,可能让爬虫读不到最新的 robots.txt,排除意愿还是要写进规则里[3]。

验证与拦截的落地

robots.txt 是约定,不是访问控制[6]。

愿意遵守的爬虫才读它,不愿遵守的照常请求页面。所以拦截规则要写在防火墙或内容分发网络上,并且同时匹配用户代理与 IP 段。

IP 段会更新,规则要按官方 JSON 定时刷新[2]。

常见误用

一个误用是只看用户代理就放行,把它当成身份证明[6]。

另一个误用是只做反向解析,不做正向回查。只做一步容易被伪造的域名骗过[5]。

第三个误用是把 IP 段一次性写死,不再更新。段会变动,规则要跟着刷新[2]。

附录

参见

参考资料

官方(境外)

  1. 《Overview of OpenAI Crawlers》,OpenAI。
  2. 《Perplexity Crawlers》,Perplexity。
  3. 《Does Anthropic crawl data from the web, and how can site owners block the crawler?》,Anthropic,2026-04-08。
  4. 《About Applebot》,Apple,2026-09-04。
  5. 《Verifying Googlebot and other Google crawlers》,Google 搜索中心。
  6. 《Google 常用抓取工具列表》,Google 搜索中心。

外部链接

无。