Fiddler配合安卓模拟器实现APP的Https抓包
简介
Fiddler抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放, 手机的APP和后台通信很多都是基于https的, 需要特殊的设置, 不然是抓不到的.
Fiddler的抓包原理是通过设置一个代理服务器, 让APP或网站通过这个代理访问网站, 从而监听到访问数据. https的数据需要一个可信任的证书, Fiddler可以生成证书, 安装好证书就可以监听到https数据了, 下面就来介绍怎么安装证书
需要用的软件
- fiddler 网上下载一个即可
- 有root权限的手机或安卓模拟器 很多手机root都比较麻烦, 这里选择安卓模拟器来做演示, 原理一样的, 网上下载个逍遥,夜神安卓模拟器即可
- 安卓文件浏览器 能访问系统文件的, 如re文件浏览器等
1.获取证书文件
1.1 导出证书
打开 fiddler
在设置项中找到
Tools->Fiddler Options->HTTPS
按图片设置导出证书到桌面
1.2 用命令行转换证书
在证书所在的目录打开CMD命令行
转化证书格式为pem
openssl x509 -inform DER -in FiddlerRoot.cer -out cacert.pem
计算证书hash并改名
openssl x509 -inform PEM -subject_hash -in cacert.pem
计算结果若为269953fb 将cacert.pem改命为 269953fb.0
2.安装证书文件
2.1 将证书文件复制到安卓模拟器
打开安卓模拟器, 把刚才的 269953fb.0
文件复制到模拟器共享文件夹
2.2 将证书文件复制到安卓系统证书目录
打开re文件管理器, 找到download目录, 找到刚才的 269953fb.0
文件复制到证书文件夹
/system/etc/security/cacerts
里, 证书就安装成功了
2.3 检查证书是否安装成功
安卓模拟器上打开设置-> 安全 -> 信任的凭据 看到如下 所示则代表证书已经安装成功了
3.配置监听抓包
3.1 fiddler的设置
打开Fiddler设置代理
Tools –> Fiddler Options –> HTTPS
3.2 安卓模拟器设置
安卓模拟器长安WiFi图标, 点击修改网络
填入代理, ip为你自己电脑局域网ip(可通过局域网ipconfig查看), 保存即可
3.3 测试抓包
在浏览器中输入https://www.baidu.com/#, 或打开app, 就可在fiddler看到在抓到的https包了
结尾
其实App的http抓包不难, 只是证书安装稍微麻烦, 其他抓包软件比如Charles大概也是这么一个流程, iOS也是差不多的教程
评论 (0)