目前在跑akamai中遇到一个网站 经常被403
尝试过很多东西 怀疑是ja3指纹的问题
在github搜索到有一些人编译的cronet
是chromium中的网络请求库抽离出来的动态库
官方的解释
Cronet是Chromium网络引擎对不同操作系统做的封装,
实现了移动端应用层、表示层、会话层协议,
支持HTTP1/2、SPDY、QUIC、WebSocket、FTP、DNS、TLS等协议标准。
支持Android、IOS、Chrome OS、Fuchsia,
部分支持Linux、MacOS、Windows桌面操作系统。
实现了Brotli数据压缩、预连接、DNS缓存、session复用等策略优化
以及TCP fast open等系统优化
优点
他内部支持完整的tls层 不需要依赖openssl 是完全和chrome浏览器一样的ja3指纹
可以降低被识别的可能性
编译
1. 拉代码
首先需要拉下来chromium的源码
我使用的是 22.04.1-Ubuntu x64 的linux 系统
2. 生成编译文件
1 2
| gn gen out/Cronet --args='is_debug=false' is_debug=false 是release模式 都编译进一个so里
|
3. 开始编译
1 2
| ninja -C out/Cronet/ cronet_package 如果不指定后面的cronet_package 就会编译chromium浏览器
|

大概四千多个文件 编译还是挺快的
4. 编译结果

5. 使用
很多语言都可以调用这个动态库
效果
这是chrome浏览器的

1 2 3 4 5 6 7 8 9
| { "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "ja3_hash": "49f70b3e88f1c16efb129287356f5d8f", "ja3_text": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,27-5-10-13-35-18-65037-0-51-11-45-65281-16-17513-23-43,25497-29-23-24,0", "ja3n_hash": "4c9ce26028c11d7544da00d3f7e4f45c", "ja3n_text": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,25497-29-23-24,0", "akamai_hash": "1078ca4bfd193d5da4914b977eec979e", "akamai_text": "1:65536;2:0;4:6291456;6:262144;64234:3439937096|15663105|0|m,a,s,p" }
|
这是动态库请求的

1 2 3 4 5 6 7 8 9
| { "user_agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Mobile Safari/537.36", "ja3_hash": "18b44992750235fb3f1a5c1c23b3158e", "ja3_text": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,5-45-17513-27-43-65037-13-65281-51-10-18-0-23-11-35-16,25497-29-23-24,0", "ja3n_hash": "4c9ce26028c11d7544da00d3f7e4f45c", "ja3n_text": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,25497-29-23-24,0", "akamai_hash": "52d84b11737d980aef856699f885ca86", "akamai_text": "1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p" }
|
JA3_hash 不一致是因为新的chrome会随机扩展顺序导致的
akamai 测试上面的站成功率从20%多提升到90%