背景
由于手头没有多余的平板,所以用模拟器来安装应用进行测试,有时候想要知道是前端问题还是后端问题,需要安装charles来进行抓包;
最终效果
模拟器上浏览应用,能抓到应用数据;
具体步骤
- 模拟器开启root权限
- windows安装charles应用可以百度,网上有很多,这里就不再赘述;安装完成后,导出证书;
- 点击Charles->Help->SSL Proxying->Save Charles Root Certificate
- 导出文件类型选.cer,文件名自定义,如mcert
导出过程可能很慢,需要耐心等待;
- 模拟器安装charles根证书
- 将上一步的mcert证书拖入模拟器,并双击安装,证书名称随意
- 模拟器上安装的用户证书转移到系统根证书内
- 依次进模拟器的文件管理器目录/data/misc/user/0/cacerts-added,找到.0文件,复制它(勾选就算是复制了)
- 粘贴到目录/system/etc/security/cacerts内
粘贴过程中可能会遇到没有修改权限,需要挂载;解决方法如下:
Charles端口配置
- Proxy->Proxy Settings,配置如下,端口号自定义
- Proxy->SSL Proxy Settings,配置如下
- 勾选Enable SSL Proxying后确认
模拟器wifi配置代理
- cmd查看电脑ip地址
- 模拟器wifi打开代理,主机名为电脑ipv4地址,代理端口号与charles配置的http proxy一致
找到设置
点击网络和互联网
点击WLAN
点击设置图标
点击铅笔图标;
打开抓包工具charles和模拟器应用,即可抓到应用的请求数据;