网站防护检测:反爬、WAF 和验证码
输入网址,服务会像浏览器一样打开它。你会看到网站用了哪种反爬、WAF 或验证码,以及它是否会把页面交给不带浏览器的请求。
正在打开网站…
发现的防护
- 响应码
- —
- 最终地址
- —
- 服务器
- —
- 响应时间
- —
- 重定向
- —
- 页面标题
- —
对抓取意味着什么
检测从 Cloudflare 的地址发出一次请求,而不是从你的代理发出。网站放行你多少代理,请用 target 模式的检测脚本查看: Linux 代理检测脚本, Windows 代理检测脚本
检测能识别什么
通过响应头、Cookie 和页面代码识别系统。网站更换防护时我们会补充列表。
反爬
- Cloudflare Challenge
- Cloudflare Bot Management
- Akamai Bot Manager
- DataDome
- HUMAN (PerimeterX)
- Kasada
- Radware Bot Manager
- Netacea
- Variti
- ServicePipe
- Ozon Antibot
- Wildberries Antibot
- Avito Firewall
WAF 和 DDoS 防护
- Imperva (Incapsula)
- AWS WAF
- F5 BIG-IP ASM
- Reblaze
- Sucuri
- Vercel Firewall
- DDoS-Guard
- Qrator
- StormWall
验证码
- Cloudflare Turnstile
- Yandex SmartCaptcha
- Google reCAPTCHA
- hCaptcha
- GeeTest
CDN
- Cloudflare
- Akamai
- Amazon CloudFront
- Fastly
如何看结果
网站返回了页面
响应码 200,页面正常。这里也可能有反爬:它会观察请求频率,稍后再开启验证。
浏览器验证
返回的不是页面,而是检测浏览器的脚本。不执行 JavaScript 就无法继续。
验证码
网站要求完成验证码。通常是 IP 信誉差或请求过多时出现。
拒绝
响应码 403、429 或 503,且没有验证页面。网站对这类请求或这个网络关闭。
关于防护检测的问题
01服务如何识别网站的防护?
服务器像 Chrome 浏览器一样打开地址,并查看响应:请求头、Cookie 和页面代码。每种防护系统都会留下自己的痕迹,比如 Cloudflare 的 __cf_bm Cookie 或 Akamai 的 _abck,检测就是读取这些痕迹。
02为什么我的爬虫看到的不一样?
我们从 Cloudflare 的地址只发一次请求。反爬会综合 IP、请求频率和行为,所以每分钟发一百次请求的爬虫,可能在我们单次请求能通过的地方遇到验证码。
03什么是浏览器验证?
这是一个带脚本的页面,用来检查是否是真实浏览器打开的:它会执行 JavaScript、读取指纹,有时还要求等待。curl 和 requests 过不了这种页面。
04代理能应对反爬吗?
代理让请求使用不同的 IP,反爬开启验证的次数会减少。如果网站要求执行 JavaScript,只靠代理不够:需要浏览器或反检测浏览器,再接入代理。
05服务会保存我检测的地址吗?
不会。服务器只打开地址一次,把结果返回给你的浏览器,既不保存地址,也不保存网站的响应。

