• [macOS] macOS下使用charles抓包android的https请求


    其实,关于在macOS下怎样抓包https的请求,网上已经有一大堆教程,可自行google,那些教程也基本都是正确的,但为什么还是抓android的https请求不行呢?

    找了很久,终于发现了这个问题!

    Android7.0 之后默认不信任用户添加到系统的CA证书!!!

    To provide a more consistent and more secure experience across the Android ecosystem, beginning with Android Nougat, compatible devices trust only the standardized system CAs maintained in AOSP.(文档链接

    那怎么办呢?

    一、官方解决方案(需修改代码)

    官方文档:https://developer.android.google.cn/training/articles/security-config.html
    详细演示:https://blog.csdn.net/mrxiagc/article/details/75329629
     
     

    二、将抓包软件的证书安装成系统证书(需ROOT)

    系统证书目录:/system/etc/security/cacerts/

    其中的每个证书的命名规则如下:
    <Certificate_Hash>.<Number>
    文件名是一个Hash值,而后缀是一个数字。
    文件名可以用下面的命令计算出来:
    openssl x509 -subject_hash_old -in <Certificate_File>
    后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1

    操作步骤:

    1. 将抓包软件的证书用上述命令计算出 Hash 值,将其改名并复制到系统证书目录
     
    2. 此时你应该可以在 设置->安全->加密与凭据->信任的凭据 的系统标签页看到你新加入的证书,将其启用即可顺利抓包

    Have fun with Charles!

     
  • 相关阅读:
    Linux入门
    Linux和VMware
    vue中select的使用以及select设置默认选中
    Django ModelFrom组件
    Django登录(含随机生成图片验证码)注册实例
    Django组件---Django请求生命周期和中间件
    Python3之使用Crypto
    ORM大结局
    ORM多表查询下
    Pycharn破解补丁激活
  • 原文地址:https://www.cnblogs.com/davidhhuan/p/15441471.html
Copyright © 2020-2023  润新知