概述:本文将针对Ja3 指纹检测风控进行处理,举例了一个案例并使用两种不同的破解方案进行突破,同时深入了解指纹间不同字符所代表的含义
指纹检测背景:
1、每一个设备、软件都有独属于自己的设备信息、版本号、加密算法、椭圆算法等等,而ja3指纹就是将这些信息进行了一个非常复杂的计算后得到的产物,在不做特殊处理的情况下,部分网站会短时间内大量相同指纹的请求视为爬虫进行封禁。
2、在使用requests这个模块的时候,由于requests这个模块底层调用的是ssl进行请求导致ja3指纹无法做出有效的调整,这个是这个模块的缺陷,包括目前市面上对requests进行指纹的修改大部分都是无效的(反编译或修改源文件的除外)
3、突破方案:目前突破的方案有多种
1、使用大佬改魔改的 curl_cffi 模块进行请求,但这种由于封装的太过于完善了,好处是用法简单,坏处是不能 “随心所欲”;
2、使用pyhttpx 或 request-go 等模块进行自定义 ja3 指纹进行请求;
3、使用 js、go语言发起请求能够有效解决(因为主要讲的是python我这里先pass了)
特征:
1、响应数据里面出现 Just a moment… 等字样
2、在确保参数无问题的情况下对 curl 重放是成功的,但放在 python 或 js 代码中执行失败
好了废话不多说,直接开始
目标网站:aHR0cHM6Ly9wa