SEO 百科
AI 爬虫的 IP 与验证
本页目录
AI 爬虫的 IP 与验证
AI 爬虫的 IP 与验证用来确认一个请求是否来自某家爬虫,依据有两条:来源 IP 的反向域名解析,以及官方公布的 IP 段列表[5]。用户代理字符串可以被伪造,Google 在抓取工具文档里提醒过这一点[6]。站长要判断该放行还是该拦截,就得把这两条依据用起来。
用户代理的可伪造性
用户代理字符串是请求头里的一段文字,客户端可以任意填写[6]。
攻击者常把用户代理字符串写成 Googlebot,借放行规则混进站点[5]。
所以看到声称来自爬虫的请求,先不要直接放行,要回到来源 IP 上核对。
反向域名解析
做法分两步[5]。
- 对日志里的来源 IP 做反向解析,得到主机名;
- 再对该主机名做正向解析,确认解析回来的地址与原始 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 列表 |
|---|---|
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]。
附录
参见
参考资料
官方(境外)
- 《Overview of OpenAI Crawlers》,OpenAI。
- 《Perplexity Crawlers》,Perplexity。
- 《Does Anthropic crawl data from the web, and how can site owners block the crawler?》,Anthropic,2026-04-08。
- 《About Applebot》,Apple,2026-09-04。
- 《Verifying Googlebot and other Google crawlers》,Google 搜索中心。
- 《Google 常用抓取工具列表》,Google 搜索中心。
外部链接
无。