Python requests库过指纹检测

文章目录

    • [JA3 指纹算法](#JA3 指纹算法)
    • 代码

参考:https://blog.csdn.net/qq_37144341/article/details/120083219

修正该参考文章中的检测地址

JA3 指纹算法

JA3是一种创建SSL/TLS客户端指纹的方法,它易于在任何平台上生成,并且可以轻松共享以获取威胁情报。 JA3 由三位 Salesforce 成员(John Althouse、Jeff Atkinson 和 Josh Atkins)开发,是一种用于根据 ClientHello 数据包生成 SSL 指纹以识别建立加密连接的客户端的技术。 相同的客户端工具所产生的JA3指纹总是一致的

代码

python 复制代码
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.ssl_ import create_urllib3_context
 
ORIGIN_CIPHERS = ('ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:'
'DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES')
 
 
class DESAdapter(HTTPAdapter):
    def __init__(self, *args, **kwargs):
        """
        A TransportAdapter that re-enables 3DES support in Requests.
        """
        CIPHERS = ORIGIN_CIPHERS.split(':')
        random.shuffle(CIPHERS)
        CIPHERS = ':'.join(CIPHERS)
        self.CIPHERS = CIPHERS + ':!aNULL:!eNULL:!MD5'
        super().__init__(*args, **kwargs)
        
        
    def init_poolmanager(self, *args, **kwargs):
        context = create_urllib3_context(ciphers=self.CIPHERS)
        kwargs['ssl_context'] = context
        return super(DESAdapter, self).init_poolmanager(*args, **kwargs)
 
    def proxy_manager_for(self, *args, **kwargs):
        context = create_urllib3_context(ciphers=self.CIPHERS)
        kwargs['ssl_context'] = context
        return super(DESAdapter, self).proxy_manager_for(*args, **kwargs)

main

python 复制代码
headers = {
    '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'}
s = requests.Session()
s.headers.update(headers)

for _ in range(5):
    s.mount('https://tls.browserscan.net', DESAdapter())
    resp = s.get('https://tls.browserscan.net/api/tls',verify=False).json()
    print(resp['tls']['ja3'])
相关推荐
forEverPlume9 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
Aleeeeex10 小时前
RAG 那点事:从 8 份企业文档到能用的问答系统,全过程拆给你看
人工智能·python·ai编程
2301_8092047010 小时前
mysql在docker容器中如何部署_利用docker-compose快速启动
jvm·数据库·python
Legendary_00810 小时前
LDR6500:USB‑C DRP PD协议芯片技术详解与应用实践
c语言·开发语言
2301_8009769311 小时前
正则表达式
开发语言·python·正则表达式
故事还在继续吗11 小时前
C++20关键特性
开发语言·c++·c++20
码界奇点11 小时前
基于Python的新浪微博数据爬虫系统设计与实现
数据库·爬虫·python·毕业设计·新浪微博·源代码管理
AI木马人11 小时前
1.人工智能实战:大模型推理接口响应慢?从模型加载到 FastAPI 部署的完整优化方案
人工智能·python·fastapi
青少儿编程课堂11 小时前
2026青少儿信息素养大赛备赛指南!Python/Scratch/C++备考要点
开发语言·c++·python