password
查看人数
type
status
date
slug
summary
category
icon
tags
作者
状态
不同于其他的纯 Python http 客户端,比如
httpx
和 requests
,这个库可以模拟浏览器的 TLS 或者 JA3 指纹。如果你莫名其妙地被某个网站封锁了,可以来试试这个库。TLS/JA3指纹是用于识别应用程序所使用的TLS实现和配置的方法。
JA3(Joint Authentication of Named Requirements)是由Salesforce在2016年提出的一个方法,它可以通过提取TLS客户端hello消息中的特定字段来创建TLS客户端的唯一指纹。这些字段包括:
- SSL版本(比如TLS 1.2)
- 支持的加密套件列表
- 支持的压缩方法列表
- TLS扩展(比如supports elliptic curves)
通过提取这些信息生成一个hash字符串,就可以唯一识别一个TLS客户端的配置信息。
举例来说,Mozilla Firefox和Google Chrome对TLS的实现和支持的加密套件是不一样的,通过JA3可以生成它们唯一的TLS指纹,这样就可以区分这两个浏览器的流量。
JA3指纹可以用于不同的安全场景:
- 识别并阻止特定恶意软件的流量,这些软件使用了唯一的TLS配置
- 检测异地登录,如果用户的JA3指纹突然变化,可能是账户被盗用
- 识别使用了弱加密套件的客户端等
总之,JA3指纹提供了通过TLS握手本身提取应用签名的方法,使安全分析人员可以明确识别并了解encrypted TLS流量,是TLS分析的重要技术之一。
Python中实现TLS/JA3发起请求
安装
pip install curl_cffi --upgrade
使用
类 requests
Sessions
更多并发:
有关使用上的问题,欢迎您在底部评论区留言,一起交流~
- 作者:躁静有徒
- 链接:https://blog.zaojingyoutu.top//article/82647f35-e11c-43ec-a5f9-18814830f3c8
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章