Lazy loaded image
Chrome
JA3指纹
字数 497阅读时长 2 分钟
2025-6-4
2025-6-6
type
status
date
slug
summary
tags
category
icon
password

概述

JA3 指纹的计算规则是基于 TLS 客户端在握手阶段发送的Client Hello消息中的关键字段,通过标准化的格式转换和哈希处理生成唯一标识。
JA3 指纹用于用于识别 TLS 客户端(如浏览器、爬虫工具),其唯一性可用于反爬、威胁情报分析等领域。例如,Python 的requests库默认指纹固定,而 Go 的ja3transport库可自定义指纹以绕过检测。
notion image

JA3指纹的组成

字段顺序:
Example:
 
把版本,加密套件,扩展等内容按顺序排列然后计算hash值,便可得到一个客户端的TLS FingerPrint。
 

Chrome JA3指纹

指纹检测:https://ja3.zone/check
 
第一打开
4031567bddf29a9cb331bdf673285739
771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-11-35-27-18-23-17613-51-10-45-65037-43-16-13-65281,4588-29-23-24,0
notion image
 

第二打开
878c9c599e7d5d566b05ae36e9802ed7
771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,51-18-65037-13-0-27-10-23-65281-11-16-43-45-5-35-17613-41,4588-29-23-24,0
notion image

刷新以后,Chrome JA3指纹的hash值会发生变换,对比发现只有SSLExtension字段发生变化。
 
SSLVersion
Cipher
SSLExtension
EllipticCurve
EllipticCurvePointFormat
771
4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53
0-5-11-35-27-18-23-17613-51-10-45-65037-43-16-13-65281
4588-29-23-24
0
771
4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53
51-18-65037-13-0-27-10-23-65281-11-16-43-45-5-35-17613-41
4588-29-23-24
0
通过查阅资料发现,Chrome 对 JA3 指纹相关的 TLS ClientHello 消息结构进行随机化处理,核心目的是降低浏览器指纹识别的稳定性,从而保护用户隐私、增强 TLS 生态系统的灵活性。
 
 
Chrome 的 JA3 指纹随机化措施确实会显著降低传统 JA3 指纹检测的有效性,但并不意味着完全无法被检测。
 
Chrome JA3指纹 随机方案
 
随机下列排列
 
notion image
 

python requests JA3指纹

 
 
 
Python有关SSL的魔改库有很多,我们可以试试curl_cffi 或者 tls_client
 
具体使用可以看下面这篇文章
 

参考

 
 
上一篇
JSON Web Token (JWT) 
下一篇
Chrome无痕模式插件启用方法

评论
Loading...