Appearance
Fiddler Android 抓包
1. Fiddler 设置
首先需要启动 Fiddler 代理服务。
2. Android 设置
2.1. 前提准备
让 PC 与 Android 处于同一局域网,检查 PC 与 Android 的 IP,并测试是否联通;
2.2. 配置代理
进入 WIFI 设置页面,长按 WIFI 网络名称,点击「修改」:

「高级 > 代理」选择「手动」:

输入 PC 的 IP 地址以及 Fiddler 代理服务的端口号:

2.3. 安装 Fiddler 证书(用户)
打开浏览器,在地址栏中输入 PC 的 IP 地址以及 Fiddler 代理服务的端口号:

点击「FiddlerRoot certificate」下载 Fiddler 证书。
下载完成后安装证书即可。
2.4. 安装 Fiddler 证书(系统)
通常在将 Fiddler 证书导入用户目录后 Fiddler 已经可以正常抓包了。但是,从 Android 7.0 以后,系统允许每个应用可以定义自己的可信 CA 集,在默认情况下应用只会信任系统预装的 CA 证书,而不会信任用户安装的 CA 证书。解决方案一般有两种,一是修改 APK 添加受信任的用户证书,二是直接将证书导入系统目录下,下面主要介绍第二种方法。
前提准备:
- Android 手机已 root;
- Windows 电脑已安装 openssl;
获取 Fiddler PEM 格式的证书:
将 Fiddler 证书导出到桌面:

图 2.5 - 导出 Fiddler 证书 生成 PEM 格式的证书:
EBNF"openssl x509 -inform DER -in ", fiddler certificate file path, " -outform PEM -out ", path to saveNote:可以将生成的 PEM 证书复制一份,因为后续还需重新再生成一次。
生成 X.509 证书主题的哈希值:
EBNF"openssl x509 -inform PEM -subject_hash -in ", pem file path复制输出首行的哈希值,如
425356aa。将 PEM 证书 1 文件重命名为
425356aa.0;重复步骤 2;
生成 X.509 证书主题的 MD5 值:
EBNF"openssl x509 -inform PEM -subject_hash_old -in ", pem file path复制输出首行的哈希值,如
9a5ba575。将 PEM 证书 2 文件重命名为
9a5ba575.0;
将 PEM 证书导入 Android 系统目录:
adb 连接 Android 手机;
获取 root 权限:
PowerShelladb root将系统分区重新挂载为可读写状态:
PowerShelladb remount信息
在 Android 设备上,系统分区通常以只读(read-only)的方式挂载,以确保系统的稳定性和安全性。通过执行
adb remount命令,可以请求将系统分区重新挂载为可读写状态,以便于对系统文件进行修改。信息
如果使用逍遥模拟器出现
remount failed报错,请「系统设置 > 磁盘 > 磁盘共享」设置为「独立系统盘」。将以上两个 PEM 证书文件推送到 Android 证书的系统目录:
EBNF"adb push ", pem file path, " /system/etc/security/cacerts/"修改 PEM 证书的读写权限:
进入手机终端:
PowerShelladb shell修改文件权限为
644:EBNF"chmod 644 /system/etc/security/cacerts/", pem file name重启 Android 手机,确认证书是否已安装完成并启用;