目录
-
-
-
- 一、ja3指纹介绍
- 二、ja3.指纹解决方案
-
-
一、ja3指纹介绍
-
1、
指纹
:通过一些算法加密一些特征得到的值,通常可以区分你是谁。每个客户端都会生成特定的值ja3指纹
,并不会随ip和useragent改变,通过ja3指纹可以定位和识别客户端
(不限于浏览器,python等) -
2、
chrome浏览器
查看ja3指纹:https://ja3er.com/json,或者https://ja3er.com/ -
3、
python的requests包
查看ja3指纹import requests headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36",} res = requests.get("https://ja3er.com/json", headers=headers, timeout=10) print(res.json()) # {'ja3_hash': '77b2140d11c959ef7cc4e15405e0860b', 'ja3': '771,157-156-49196-49200-49327-49325-49188-49192-49162-49172-163-159-52394-49315-49311-162-158-49314-49310-107-106-196-195-103-64-190-189-57-56-136-135-51-50-69-68-49195-49199-49326-49324-49187-49191-49161-49171-49313-49309-49312-49308-61-60-53-47-192-186-132-65-52393-52392-49267-49271-49266-49270-255,0-11-10-35-22-23-13-21,29-23-25-24,0-1-2', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67'}
-
4、
抓包工具Wireshark
查看ja3.指纹:显示在其中Client Hello数据包
示例。首先,下载最新版本。Wireshark,否则可能看不见ja3.指纹。如图所示,两个。ja第一个是指纹ja3相关的五个特征指纹,第二个是第一个MD5哈希值计算生成hash值可以确定ja指纹是否相同 -
5、
ja3指纹
计算规则由五个字段组成:更详细的参考文章1 ,参考文章2, 参考文章3,Wireshark十六进制数(如0x0303
)即下图中显示的数字。Cipher Suites扩展CIPHER SUITE NAMES查询映射关系
二、ja3.指纹解决方案
- 前辈踩坑:python缺陷暂时不能绕过严格的验证ja3指纹检测
- 但是go和js可以设置ja3.指纹的正常要求需要继续研究