前言:
最近公司在做app项目,测试环境app包没有调试模式,导致测试过程中无法查看请求接口和请求的参数,故需要通过抓包工具抓包
一)fiddler安装配置
1、下载安装fiddler,这里不说明了,百度下载,安装好之后进行配置
①配置fiddler允许监听到https
Tools => Options => HTTPS
②配置fiddler允许远程连接
Tools => Options => Connections
③重启Fiddler(配置完成后需要重启才能生效)
2、安装模拟器(夜神、mumu),并配置代理
①打开模拟器wifi,修改网络代理
②打开内置浏览器输入电脑内网ip+fiddler设置的端口号(默认8888),下载fiddler证书
③下载完成后安装
④安装完成后浏览器会一直弹出证书有问题
解决方法
浏览器 【设置】- 【隐私与安全】- 【显示安全警告】 ,取消勾选就行
以上是所有步骤,安装完成后就可以进行抓包了。如app提示无法连接网络参考一下方法
存在问题:
以上步骤只能抓取部分app的包,有的app无法抓包,设置代理后,app就会提示无法连接网络
问题原因:
如果开启fiddler抓包后,部分APP正常解密HTTPS,部分APP不行(比较典型的是应用商店,淘宝,知乎等)原因是APP启用了SSL Pinning(SSL 证书绑定)
基本原理是APP内置了一个证书校验。导致你虽然安装并且信任了你抓包工具的证书,但是如果APP开启了Pinning,仍然会把你这个证书当做无效证书,导致HTTPS建立失败。
3、破解app抓包限制
采用Xposed+JustTrustMe关闭SSL证书验证
注意:安卓手机安装Xposed框架需要Root,可能会导致手机变砖,建议使用模拟器。
①在夜神模拟器里面搜索sposed,直接下载
注意:模拟器安装Xposed框架时,先将之前设置的WIFI代理关闭,不然会出现下面的错误,导致框架安装不了。
正常打开如下,点击 Version 89更新
安装成功
②安装JustTrustMe模块
JustTrustMe:一个禁用SSL证书检查的xposed模块。
下载安装即可,github下载地址:https://github.com/Fuzion24/JustTrustMe/releases
安装完成后,在Xposed Installer中勾选该模块,然后重启设备。
以上设置完后就可以重新设置网络代理进行抓包
注意:
推荐使用模拟器进行抓包。
下载软件时先将设置的WIFI代理关闭,抓包时再手动设置代理。
正常配置后抓不了app数据包,推荐使用Xposed+JustTrustMe解决方案。