绕过TLS/akamai指纹护盾

文章介绍了如何识别和绕过TLS及Akamai的指纹识别机制,包括理解TLS握手的Ja3算法,使用curl_cffi库伪装浏览器指纹,以及如何修改Python的requests库来规避检测。同时,提供了测试网站和具体代码示例,展示如何成功绕过Cloudflare的指纹护盾。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前言

在之前的项目中,发现一些网站使用不同的客户端会得到不同的结果,比如使用浏览器访问正常没问题,但使用python写脚本或者curl请求就会被拦截,当时也尝试数据包1:1还原,但还是不能解决。

测试指纹拦截站点:ascii2d.net

最近拜读了师傅的文章《绕过 Cloudflare 指纹护盾》,很有感触,感觉之前遇到的应该就是这个问题;之前写爬虫遇到类似这种指纹护盾(反爬机制),也都是尝试通过selenium模拟浏览器来绕过的,这一次也算是见了世面,学到了一些新的东西。

本次内容主要分为2部分,1是绕过TLS指纹识别,2是绕过Akamai指纹(HTTP/2指纹)识别

2. TLS指纹相关

2.1. 什么是TLS指纹

TLS指纹是一种用于识别和验证TLS(传输层安全)通信的技术。

TLS指纹可以通过检查TLS握手过程中使用的密码套件、协议版本和加密算法等信息来确定TLS通信的特征。由于每个TLS实现使用的密码套件、协议版本和加密算法不同,因此可以通过比较TLS指纹来判断通信是否来自预期的源或目标。

TLS指纹可以用于检测网络欺骗、中间人攻击、间谍活动等安全威胁,也可以用于识别和管理设备和应用程序。

TLS指纹识别原理(ja3算法):github.com/salesforce/…

2.2. 测试TLS指纹

测试一下不同客户端之间的指纹差异(ja3_hash)

深入分析的话可以用wireshark抓TLS包进行对比分析

测试网站:tls.browserleaks.com/json

  • CURL v7.79.1

  • CURL 7.68.0

  • Chrome 112.0.5615.137(正式版本) (x86_64)

  • Burp Chromium 103.0.5060.114(正式版本) (x86_64)

  • Python 2.11.1

可见不同的客户端都存在区别,针对最后一个python的ja3_text做一个简单的说明

  • 第一个值 771:表示 JA3 版本,即用于生成指纹的 JA3 脚本的版本。
  • 第二个值 4866-4867-4865-49196-
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值