安卓系统升级后,关于Fiddler工具不能抓取https接口问题

问题原因?

目前安卓手机可以抓取的https接口都在安卓7.0版本以下,有时候抓取Android7.0版本或以上的接口抓取不到
因为Android7.0之后常规手段不能抓Https的包,应用会默认不信任用户安装的证书(手机里自己安装的证书),只信任系统内的证书
为了手机数据安全考虑,目前即使安装了证书,也只能抓取一部分的https,在工作中非常不方便

解决办法:

1 手机root权限(了解)
2. 使用安卓7.0以下版本(推荐)

第一种方法

  1. 第一种方法比较难一些,以小米安卓14版本为例

    • 先安装openssl,参考地址:https://slproweb.com/products/Win32OpenSSL.html
    • 我电脑是64位,点击EXE进行安装,傻瓜式安装
      在这里插入图片描述
    • 最后一步,这里都不选
      在这里插入图片描述
  2. 然后进行环境变量,把openssde bin目录放到path里面,如下
    在这里插入图片描述

    1. 然后把fiddler证书导出到D盘下,在D盘目录下打开cmd后执行如下
      openssl x509 -subject_hash_old -in .\FiddlerRoot.cer -inform der
      在这里插入图片描述

    2. 然后将上图的数字改为之前生成的证书的名称,后缀改为.0,即 269953fb.0

    3. 在当前目录下把改过的证书名称push到系统目录,命令如下
      adb push 269953fb.0 /sdcard/Download

    4. 进入到 /sdcard/Download目录下执行如下
      cp 269953fb.0 /system/etc/security/cacerts

    5. 会提示没有读和写的权限(原因是手机没有进行root),如下
      在这里插入图片描述

    6. 查看系统自带的证书如下
      在这里插入图片描述

Tips:手机root步骤比较复杂,相关参考:
小米手机获取完整ROOT权限教程:https://blog.csdn.net/m0_37442062/article/details/102743693?
解锁参考:https://www.miui.com/unlock/download.html

扫描二维码关注公众号,回复: 17502842 查看本文章

第二种方法(推荐)

比较简单

  1. 直接准备一台安卓7.0版本以下版本的安卓手机,设置手机代理即可抓取HTTPS的包(便宜点的可以在咸鱼购买,价格在100以下)
  2. 目前所熟悉的安卓7.0版本有以下手机类型,可以在testin云测平台进行先筛选好:https://testin.cn/realmachine/index.htm
  3. 个人推荐:vivo Y55、小米3
    在这里插入图片描述
    最后两个平台不是在打广告噢,自己有备用机更好!!!

猜你喜欢

转载自blog.csdn.net/m0_44974332/article/details/142487127