Android 7 及以上夜神模拟器,Fiddler 抓 https 包

问题描述

Android 从 7.0 开始系统不在信任用户 CA 证书(应用 targetSdkVersion >= 24 是生效,若是 targetSdkVersion < 24 即使系统是7.0+ 依然会信任)也就是说即使安装了用户 CA 证书,在 Android 7.0+ 的机器上,targetSdkVersion >=24 的应用 HTTPS 包就抓不到了。

解决方案

亲测有效!!!!!!
使用 OpenSSL 对 FiddlerRoot.cer 证书进行转换,然后放入手机系统证书目录内(/system/etc/security/cacerts------系统证书具体目录),并对其附加读写权限,以下为详细步骤。

环境准备

1、 下载抓包工具 Fiddler 或 Fiddler everywhere 版

2、 下载夜神模拟器

3、 OpenSSL 安装

4、 AndroidSDK 安装

操作步骤

1、导出 Fiddler 证书并修改成 .pem 和 .0 文件
  • 1.1 按下图步骤导出 Fiddler_Root_Certificate_Authority.crt 证书
  • 1.2 cmd 命令切换到证书的导出路径(默认导出桌面)
    例如:cd C:\Users\17710\Desktop ,每个人桌面路径不一定相同,将证书文件拖拽到 cmd 窗口,即可找到文件夹路径
  • 1.3 使用 OpenSSL 将 FiddlerRoot 证书的 crt 格式转换成 pem 格式
    openssl x509 -inform DER -in Fiddler_Root_Certificate_Authority.cer -out cacert.pem
  • 1.4 计算 pem 证书 hash 值-截取下图中箭头指向的 0725b47c 即可
    openssl x509 -inform PEM -subject_hash_old -in cacert.pem
  • 1.5 将桌面上的 cacaert.pem 证书 修改为 0725b47c.0 ,名称为上一步操作的 hash 值,后缀为 0
2、修改夜神模拟器配置
  • 2.1 启动一个Android 7 以上的模拟器,按照下图指示
    • 点击右上角设置,开启网络连接和网络桥接模式
    • 设置静态 IP,一般只需要修改IP 地址网关这两项即可,IP 地址可以自己设置,比如我的电脑 IP 是 192.168.1.3,可修改成下图的 IP
  • 2.2 确保模拟器已开启 Root
  • 2.3 修改完成后重启模拟器,以保证生效
  • 2.4 修改模拟器 WiFi 代理为手动,这里和真机的操作一样
3、打开夜神模拟器设备的 USB 调试选项
  • 3.1 连续点击下图所指的版本号五次,即可进入开发者模式

  • 3.2 搜索 USB 调试并打开

  • 3.3 开启 USB 调试选项

4、将0725b47c.0证书放入夜神模拟器系统证书目录
  • 4.1 直接拖拽0725b47c.0文件到夜神模拟器,会自动打开下图的文件夹,并复制成功
    在这里插入图片描述
  • 4.2 复制上图中的0725b47c.0文件,然后打开下图指示的根目录文件夹,点击右上角的粘贴按钮,即可将0725b47c.0证书放入系统证书目录
    在这里插入图片描述
5、夜神模拟器 cmd 环境配置
  • 5.1 找到夜神模拟器快捷方式,右键点击 打开文件所在位置
    在这里插入图片描述

  • 5.2 这个文件夹内可以看到有个 nox_adb 应用程序

  • 5.3 打开查看高级系统设置,进入下图页面,按照顺序进行配置环境变量地址即可

6、给 0725b47c.0 证书赋予权限
  • 6.1 使用 nox_adb devices 命令查看设备连接状态

    若出现下面版本号不一致的错误,可参考 adb devices 发现连不上模拟器
  • 6.2 使用 nox_adb conncet 127.0.0.1:62025 命令建立 adb 连接
    ! 注:夜神模拟器的端口是规律的,第一个模拟器端口是62001,第二个模拟器端口是62025,第三个是62025+1,以此类推)
  • 6.3 使用nox_adb -s 127.0.0.1:62025 shell 命令进入模拟器 shell 命令行
  • 6.4 使用mount -o remount -rw /system 命令给外层根目录中的 system 赋予权限
  • 6.5 使用cd system/etc/security/cacerts 命令到系统证书目录
  • 6.6 使用chmod 644 0725b47c.0 命令给证书赋予权限
  • 6.6 修改完成后,使用ls -l 命令查看权限是否启用,如下图所示:
  • 6.7 最后需要在把最外层system的权限改回去
    cd ../../../..
    mount -o remount -ro system
7、打开 fiddler everywhere 进行抓包

效果图如下:

参考文章:Android7及以上,抓https包-Fiddler篇

要使用Fiddler模拟器的请求和响应,你需要按照以下步骤进行配置: 1. 首先,确保你已经下载并安装了Fiddler软件。你可以从官方网站(https://www.telerik.com/download/fiddler)下载英文版Fiddler 4,或者从汉化网站(http://soft.huweishen.com/soft/302.html)下载汉化版Fiddler。 2. 打开Fiddler软件,点击"工具"菜单,然后选择"连接",接着选择"WinlET选项"。 3. 在弹出的窗口中,点击"局域网设置",再点击"高级"按钮。在代理服务器的"高级"设置中,将HTTP代理服务器地址改为"127.0.0.1:8888",然后点击"确定"保存设置。 4. 默认情况下,Fiddler是不会捕获HTTPS会话的。所以你需要进行一些额外的设置来捕获HTTPS会话。点击"工具"菜单,选择"Fiddler选项",在弹出的窗口中,点击"HTTPS"选项卡。 5. 在"HTTPS"选项卡中,将"捕获HTTPS连接"选项前面的勾全部打上,然后点击"OK"保存设置。 现在,你已经成功配置了Fiddler模拟器的请求和响应。你可以在模拟器中进行操作,并在Fiddler软件中查看捕获到的请求和响应数据。这样,你就可以分析和定位问题,提高解决bug的效率了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [模拟器_6.6.1.1.rar及Fiddler使用文档](https://download.youkuaiyun.com/download/zhuyuhong88/14974640)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [fidder配合模拟器进行抓包](https://blog.youkuaiyun.com/xusirwiner/article/details/82660289)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值