美文网首页
Python突破JA3指纹

Python突破JA3指纹

作者: 是东东 | 来源:发表于2023-06-07 14:29 被阅读0次

一、修改python的open_ssl

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)

s.mount的第一个参数表示这个适配器只在https://tls.browserleaks.com开头的网址中生效

import requests
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.browserleaks.com', DESAdapter())
    resp = s.get('https://tls.browserleaks.com/json').json()
    print(resp)

二、使用第三方库
github仓https://github.com/yifeikong/curl_cffi

pip install curl_cffi
from curl_cffi import requests

# 注意这个 impersonate 参数,指定了模拟哪个浏览器
r = requests.get("https://tls.browserleaks.com/json", impersonate="chrome101")

print(r.json())
# output: {'ja3_hash': '53ff64ddf993ca882b70e1c82af5da49'

相关文章

  • 修改 Python 的 JA3 , 突破反爬虫指纹

    requests 是基于 urllib3 实现的,要修改 JA3 相关的底层参数,就要修改 urllib3 里面的...

  • ja3指纹和http2指纹(akamai)是否有随机的必要性

    通过上面信息比对可以看出,ja3指纹和akamai指纹都不具备唯一性,跨浏览器跨平台仍然能保持一致性,所以没必要通...

  • 用Go构建你专属的JA3指纹

    来自公众号:Gopher指北[https://isites.gitlab.io/gopher/] 在这篇文章中将会...

  • python实现CMS指纹识别

    学习python为了更好的使用,为了完成某个功能,写点好玩的代码。 利用在线的CMS指纹识别的平台,用python...

  • 173、速写——发烧了

    173、速写——发烧了 雪花,突破云层 白缓慢走向灰 不锈钢栏杆 拓印瞭望的指纹 圆滑中,冷冷地拒绝着 体内潜伏的...

  • 总结指纹锁使用事项

    一、关于指纹 指纹的录入 指纹的录入不同于手机指纹录入。手机录入指纹时,一个手指的不同部位都会被录...

  • iOS 传感器集锦

    指纹识别、运动传感器、加速计、环境光感、距离传感器、磁力计、陀螺仪 一、指纹识别 应用:指纹解锁、指纹登录、指纹支...

  • android指纹支付

    一: 指纹支付工作流程: 二 指纹原理解析: 1 指纹验证:通过FingerprintManager.authen...

  • Android-指纹解锁技术

    什么是指纹解锁技术 指纹解锁技术原理理解 指纹解锁技术的优势和缺点 在Android中的应用开发 什么是指纹解锁技...

  • 2018-03-05

    Android指纹密码 使用场景以及方向 指纹解锁,在支持指纹识别的手机中,几乎每个支持指纹识别芯片的手机都支持指...

网友评论

      本文标题:Python突破JA3指纹

      本文链接:https://www.haomeiwen.com/subject/bpnnedtx.html