IPIPCombo
术语表

TLS 指纹(JA3 / JA4)

TLS ClientHello 的哈希,能唯一识别客户端库,被用来标记代理流量。

TLS 客户端连接服务器时,在加密开始前先发一个 ClientHello 消息。ClientHello 包含密码套件列表、扩展、支持群组、签名算法——而每种客户端库的具体组合都不同。Chrome 的 BoringSSL 用一种顺序排,Firefox 的 NSS 另一种,Go 的 crypto/tls 又一种。这个列表(或列表本身)的哈希就是 TLS 指纹。最常见格式是 JA3(32 字符 MD5);JA4 是更新、更人类可读的继任者。

Cloudflare 这类服务用 TLS 指纹来区分真实 Chrome 浏览器和基于 Go 的 HTTP 客户端。一个声称是 Chrome 却呈现 Go-crypto/tls 指纹的请求很可疑——服务会用挑战、验证码或封禁来回应。这就是为什么朴素的 Go 代理工具即使 IP 和 header 看上去都对也会被标记。修法是用 uTLS(让你选择指纹的 Go 库)或 curl-impersonate(模仿特定浏览器握手的 patch 版 curl)。

TLS 指纹并非无懈可击。指纹必须匹配已知浏览器,但坚定的攻击者可以逐字节重放录制的 ClientHello。现代检测器加了熵检查(时序、包大小、TCP 层怪癖),但猫鼠游戏还在继续。IPCombo 目前不直接展示指纹——但如果某个目标始终显示你的出口 IP 是住宅却仍被封,指纹识别很可能是元凶。

相关术语

TLS 指纹(JA3 / JA4) — 术语 · IPCombo