# 机器人检测

机器人检测是网站用来区分自动化客户端与真人访客的一组技术，包括 IP 信誉和自治系统类别、请求速率与时序、TLS 和 HTTP 指纹、浏览器与设备指纹、JavaScript 质询以及行为信号。检测结论决定请求会收到正常页面、CAPTCHA、降级内容还是封禁。代理只能处理其中与 IP 有关的部分。


## 检测层级

| 层级 | 信号 | 应对方式 |
| --- | --- | --- |
| 网络 | IP 信誉、ASN 类别、地理位置一致性 | 使用目标国家/地区的住宅代理、专用 ISP 或移动代理出口 |
| 传输 | TLS 指纹（JA3/JA4）、HTTP/2 设置、请求头顺序 | 使用真实浏览器，或能准确模拟真实浏览器的客户端 |
| 浏览器 | Canvas、字体、WebGL、屏幕、时区、语言 | 保持配置一致；每个会话使用一个身份 |
| 行为 | 速率、导航路径、鼠标与滚动事件、时序 | 采用接近真人的操作节奏，并在完整流程中使用粘性会话 |


## 代理会改变什么

代理改变的是网络层信息。数据中心代理出口无法通过表格第一行的检测，住宅代理出口则可以。其他层级都不会改变，因此，即使住宅代理池本身无可挑剔，以机器速度运行且带有无头浏览器指纹的爬虫仍会遇到质询。


## 正在被检测的迹象

- 浏览器可正常加载的页面却返回 HTTP 403 或 429。
- 首次请求便出现 CAPTCHA。
- 页面能够呈现，但缺少价格或列表内容（软封禁）。
- 被重定向到“异常流量”页面。


## 在 ProxShift 中的工作方式

ProxShift 的使用场景指南说明了针对不同目标应使用哪种网络：会对访客评分的网站使用住宅代理，账号操作使用专用 ISP，防护最严的平台使用移动代理，不检测信任度的目标则使用数据中心代理。

来源：https://proxshift.com/zh/glossary/bot-detection
