← 返回 Day 137 正文

Day 137 · 图解

Day 137 - 浏览器指纹规避 · 图解

1. 指纹熵叠加

 单一特征熵低,组合后唯一:
 UA(1/50) x 分辨率(1/300) x Canvas(1/10000) x 字体集(1/500)
 ≈ 1 / 750 亿  -> 几乎唯一标识一台设备

 更换 IP/删 Cookie 不改变上述任何一项 -> 仍被识别

2. 三层检测 vs 三层对策

 检测层            对策
────────────      ─────────────────────────────
 TLS/JA3 指纹  ->  curl_cffi impersonate="chrome"
 HTTP/2 帧序   ->  同上(完整模拟浏览器网络栈)
 JS 挑战(5s盾) ->  undetected-chromedriver 执行挑战
 Canvas/WebGL ->  addScriptToEvaluateOnNewDocument 注入伪装
 自动化标记    ->  uc patch (cdc_/webdriver/CDP 特征)
 一致性风控    ->  IP归属地/时区/语言/UA 全套自洽

3. 过 Cloudflare 完整流程

graph LR A[uc 启动非无头] --> B[访问目标页] B --> C{挑战自动通过?} C -- 是 --> D[拿 cf_clearance Cookie] C -- 否/循环挑战 --> E[检查指纹一致性<br/>IP质量/UA/时区] --> B D --> F[curl_cffi + 同 UA<br/>直连接口] F --> G[✅ 数据到手]
graph LR
    A[uc 启动非无头] --> B[访问目标页]
    B --> C{挑战自动通过?}
    C -- 是 --> D[拿 cf_clearance Cookie]
    C -- 否/循环挑战 --> E[检查指纹一致性<br/>IP质量/UA/时区] --> B
    D --> F[curl_cffi + 同 UA<br/>直连接口]
    F --> G[✅ 数据到手]

4. 一致性校验矩阵

                期望(IP=北京)      实际值           判定
 时区           Asia/Shanghai     America/NY     ✗ 破绽
 语言           zh-CN             en-US          ✗ 破绽
 UA平台         Windows           Windows        ✓
 IP WebRTC泄漏  无                192.168.x.x    ✗ 破绽