Fiddler下载安装及手机APP抓包设置

由于需要用到APP数据抓包分析,所以本文记录下Fiddler下载安装的流程,以及如果在手机设置代理,成功在fiddler访问手机APP数据。
第一步,下载Fiddler:
Fiddler官网链接:https://www.telerik.com/fiddler,点击【try for free】→【Fiddler Classic】:
在这里插入图片描述
填写以下三个信息(一和三可以随便选择一项),然后点击【download for windoes】下载到本地,在这里插入图片描述
之后点击FiddlerSetup一步步点击Next安装(同其他安装软件一样,可以修改成自己想要存放的路径)。

第二步,Fiddler初步设置:
1,下载证书到桌面
安装完成后,打开Fiddler,选择【tools】→【options】→进入options设置界面,选择【HTTPS】→勾选所有勾选项,再点击【Actions】→选择第二个【Export Root Certificate to Desktop】将证书导出到桌面,然后桌面上会多一个FiddlerRoot.cer的文件。
在这里插入图片描述
2,将证书导入到Chrome浏览器。
点击谷歌浏览器右上角三个点按钮,打开设置,搜索框输入【证书】搜索,打开【安全】:
在这里插入图片描述
下滑找到【管理证书】:
在这里插入图片描述
点击打开,选择【受信任的根证书颁发机构】,点击导入,将桌面的FiddlerRoot.cer证书导入到谷歌浏览器
在这里插入图片描述

导入完毕后,关闭Fiddler和chrome浏览器,再重新打开Fiddler和chrome浏览器,此时可以在chrome浏览器中截取到HTTPS请求。(注意一定要重启才会生效)。

三,APP抓包设置
1,打开Fiddler,选择【tools】→【options】→进入options设置界面,选择【Connections】→勾选【Allow remote computers to connect】,记住端口号8888,点击ok
在这里插入图片描述
2,设置手机代理,在手机上安装fiddler证书
先win+R输入cmd打开命令行窗口,输入ipconfig,得到自己的本机ip:
在这里插入图片描述
假设你的ip为192.168.192.168,保证你的手机wifi和电脑ip处于同一网段,打开手机网络设置(以华为手机为例),进入【设置】,点击【WLAN】,长按已连接的wifi,点击【修改网络】,将代理改为【手动】,服务器主机名填写为你的电脑ip:192.168.192.168,服务器端口填写8888,然后保存。
在这里插入图片描述

之后在手机浏览器输入http://192.168.192.168:8888,得到以下界面:
在这里插入图片描述

点击蓝色字体【FiddlerRoot certificate】,下载证书到手机;然后访问手机浏览器下载路径,找到FiddlerRoot.cer文件,点击打开,为证书命名ceshi,,凭据用途保持【VPN和应用】默认项,然后点击确定,会弹出toast提示安装ceshi成功,即表示在手机安装证书成功。

3,在手机端打开APP应用,验证Fiddler抓包是否成功。
Fiddler会捕获非常多的请求,如果想对请求做出过滤,比如只想捕获手机端的请求,可以选择【tools】→【options】→进入options设置界面,选择【HTTPS】→在Decrypt HTTPS traffic这一栏,选中【from remote clients only】,则会过滤掉除手机端的其他请求。
在这里插入图片描述
打开一个APP,查看url请求,可以看到HTTPS数据和APP数据都被捕获:
在这里插入图片描述
然后就可以开始愉快的抓包旅程啦

<think>好的,用户遇到了Fiddler抓包手机APP证书安装后仍然不被信任的问题。我需要先理清可能的原因,然后逐步分析解决方案。 首先,用户可能已经按照常规流程安装证书,比如通过浏览器下载Fiddler的证书并安装到用户证书区域。但某些Android版本(特别是7.0及以上)要求将证书安装为系统证书,否则应用可能不信任用户安装的证书。这需要Root权限,因为系统证书目录是/system/etc/security/cacerts/,普通用户无法直接修改[^1]。用户是否已经尝试过将证书移动到系统证书目录?如果没有,这一步可能是关键。 其次,证书安装的位置是否正确。用户可能在设置中通过“从手机存储安装”选项安装了证书,但默认可能安装到了用户证书而非系统证书区域。需要确认安装路径是否正确,或者是否需要Root来移动证书文件。 另外,证书文件格式是否正确也很重要。Fiddler默认导出的证书可能是.cer格式,而Android系统证书需要特定的文件名和格式,例如需要将证书重命名为特定的哈希值并加上.0后缀。用户是否进行了正确的重命名和权限设置? 还有,部分APP可能使用了证书固定(Certificate Pinning)技术,即使安装了系统证书,这些APP也会检查是否使用特定证书,导致抓包失败。这种情况下,可能需要使用Xposed框架或Magisk模块来绕过证书固定,比如使用JustTrustMe模块。 此外,Android 7.0及以上版本对网络安全配置加强了限制,APP可能只信任系统证书,即使用户证书已安装也不行。因此,必须将Fiddler证书作为系统证书安装才能生效[^1][^2]。 总结可能的解决方案步骤: 1. 获取Root权限,将Fiddler证书安装到系统证书目录。 2. 确保证书文件命名和格式正确,权限设置正确。 3. 处理证书固定的情况,使用工具绕过。 4. 检查Android版本,确认是否需要系统级安装。 需要逐步指导用户完成这些步骤,并提醒可能的风险,如Root可能导致设备失去保修。同时,如果用户无法Root,可能需要寻找其他方法,比如使用旧版Android或模拟器。</think>针对Fiddler抓包手机APP证书安装后仍不被信任的问题,以下是分步解决方案: ### 一、强制安装为系统证书(需ROOT) 1. **获取Fiddler证书文件** 在电脑端Fiddler中导出证书:`Tools > Options > HTTPS > Actions > Export Root Certificate to Desktop`,生成`.cer`文件。 2. **转换证书格式并重命名** 将`.cer`转换为`.pem`格式: ```bash openssl x509 -inform DER -in FiddlerRoot.cer -out FiddlerRoot.pem ``` 计算哈希值并重命名: ```bash openssl x509 -inform PEM -subject_hash_old -in FiddlerRoot.pem | head -n 1 mv FiddlerRoot.pem <哈希值>.0 # 例如:9a5ba575.0 ``` 3. **推送证书到系统目录** 通过ADB推送至手机(需ROOT): ```bash adb push 9a5ba575.0 /system/etc/security/cacerts/ adb shell chmod 644 /system/etc/security/cacerts/9a5ba575.0 ``` 重启手机后生效[^1]。 ### 二、绕过证书固定(Certificate Pinning) 若APP采用证书固定技术,需配合以下工具: 1. **Magisk模块** 安装`MagiskTrustUserCerts`模块,自动将用户证书挂载到系统目录。 2. **Xposed模块** 使用`JustTrustMe`或`SSLUnpinning`模块,绕过SSL验证。 ### 三、非ROOT替代方案(Android 7.0以下) 1. **直接安装用户证书** 手机访问`http://<电脑IP>:8888`下载证书,通过`设置 > 安全 > 从存储设备安装`完成安装。 2. **修改APP的网络安全配置** 反编译APP并修改`res/xml/network_security_config.xml`,添加: ```xml <certificates src="user" /> ``` ### 四、验证证书状态 1. 使用[SSL Checker](https://play.google.com/store/apps/details?id=com.wstechlab.android.certificates)检查证书是否在系统信任列表。 2. 通过命令查看系统证书: ```bash adb shell ls /system/etc/security/cacerts/ ``` ### 注意事项 - **Android 9+限制**:即使系统证书安装成功,部分APP仍会因`Network Security Configuration`拦截,需结合HOOK工具。 - **证书有效期**:Fiddler证书默认有效期为5年,过期需重新生成。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值