Fiddler与Yakit联动:从零构建移动端HTTPS流量抓包实战指南

张开发
2026/4/12 8:50:18 15 分钟阅读

分享文章

Fiddler与Yakit联动:从零构建移动端HTTPS流量抓包实战指南
1. 为什么需要Fiddler与Yakit联动抓包移动应用开发和安全测试过程中HTTPS流量分析是必不可少的环节。但Android 7.0以上版本引入了严格的证书固定机制传统抓包工具经常遇到看得见流量却解不开内容的尴尬。我去年在分析某电商APP时就曾因为证书问题卡了整整两天。Fiddler作为老牌抓包工具优势在于可视化操作不需要记忆复杂命令协议解析完善自动解码常见数据格式流量修改灵活支持断点调试和请求重放而Yakit的强项在于自动化检测内置漏洞扫描模块多协议支持处理WebSocket等特殊协议扩展性强可通过插件增强功能两者配合使用时Fiddler负责流量捕获和基础解析Yakit进行深度分析和安全检测就像外科医生配合CT扫描仪——一个负责开刀一个负责病灶定位。2. 环境准备与工具配置2.1 安装必备软件建议使用Windows 10/11系统需要准备Fiddler Classic最新版官网提供免费版本Yakit从官网下载安装包测试手机Android 8.0以上真机或模拟器安装时注意关闭杀毒软件避免误报所有软件安装路径不要包含中文记录安装目录备用2.2 网络环境搭建推荐使用以下两种网络拓扑电脑开热点模式电脑开启移动热点手机连接该热点优势不需要路由器出差也能用同局域网模式电脑和手机连接同一WiFi需要路由器支持AP隔离关闭优势网络更稳定我习惯用第一种方式在咖啡厅测试时特别方便。记得检查防火墙设置开放Fiddler的监听端口默认8888。3. Fiddler核心配置详解3.1 基础代理设置打开Fiddler进入Tools Options Connections勾选Allow remote computers to connect修改监听端口为8080避免与常见服务冲突勾选Act as system proxy on startup有个坑要注意如果电脑开了VPN需要先关闭否则会出现端口冲突。上周帮同事排查时就发现他的Clash代理占用了8080端口。3.2 HTTPS解密配置在HTTPS标签页勾选Decrypt HTTPS traffic勾选Ignore server certificate errors点击Actions Export Root Certificate导出证书证书安装时选择受信任的根证书颁发机构否则Android高版本会报证书错误。曾经有次忘记这个步骤抓包时全是乱码浪费了半天时间。3.3 下游代理设置这是联动Yakit的关键步骤在Gateway设置中选择Manual Proxy Configuration输入地址127.0.0.1端口8083Yakit默认端口勾选Override Host Header测试时发现部分APP会检测代理设置这时可以尝试修改为其他非常用端口如8085。4. Yakit配置与联动实战4.1 基础劫持配置启动Yakit后进入MITM劫持模块设置监听端口为8083与Fiddler下游代理一致勾选自动解码HTTPS点击劫持启动首次使用需要安装Yakit证书# 证书存放路径Windows C:\Users\[用户名]\.yakit\ca.crt把该证书安装到手机系统证书目录具体方法后面会讲。4.2 高级过滤技巧在过滤器标签页可以按域名过滤*.weixin.qq.com按内容类型过滤application/json设置关键词高亮password我常用的是状态码过滤比如只显示500错误请求快速定位问题接口。上周排查一个支付bug时这个功能帮了大忙。4.3 手机证书安装Android 7.0需要特殊处理手机访问http://电脑IP:8080下载Fiddler证书将证书移动到系统证书目录adb push FiddlerRoot.cer /system/etc/security/cacerts adb shell chmod 644 /system/etc/security/cacerts/FiddlerRoot.cer重启手机生效如果是模拟器可以直接拖拽证书文件到模拟器窗口。记得在设置中开启Root权限否则会提示Read-only file system。5. 常见问题排查指南5.1 证书错误解决方案现象APP无法联网或提示证书不受信任检查证书是否安装到系统目录尝试关闭APP的证书固定需反编译修改使用JustTrustMe模块需Root上周测试某银行APP时发现它用了双向证书校验最后只能用Xposed框架绕过。5.2 抓不到小程序流量现象Fiddler能看到请求但无内容关闭微信重新打开清除小程序缓存检查是否开启了全局代理有个取巧的方法先用电脑版微信打开小程序这样更容易抓到包。但部分功能可能会受限。5.3 流量中断分析典型错误链排查手机→Fiddler检查代理IP和端口Fiddler→Yakit确认下游代理设置Yakit→互联网检查系统代理状态我习惯用telnet 电脑IP 8080测试端口连通性比肉眼检查更可靠。

更多文章