前言:

最近公司在做app项目,测试环境app包没有调试模式,导致测试过程中无法查看请求接口和请求的参数,故需要通过抓包工具抓包

一)fiddler安装配置

1、下载安装fiddler,这里不说明了,百度下载,安装好之后进行配置

①配置fiddler允许监听到https
Tools => Options => HTTPS

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_sed

 

 

②配置fiddler允许远程连接

Tools => Options => Connections

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_抓包_02

 

 

③重启Fiddler(配置完成后需要重启才能生效)   

2、安装模拟器(夜神、mumu),并配置代理

①打开模拟器wifi,修改网络代理

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_SSL_03

 

 

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_SSL_04

 

 

②打开内置浏览器输入电脑内网ip+fiddler设置的端口号(默认8888),下载fiddler证书

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_抓包_05

 

 

③下载完成后安装

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_抓包_06

 

 ④安装完成后浏览器会一直弹出证书有问题

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_抓包_07

 

 

解决方法

浏览器 【设置】- 【隐私与安全】- 【显示安全警告】 ,取消勾选就行

以上是所有步骤,安装完成后就可以进行抓包了。如app提示无法连接网络参考以下方法

 

存在问题:

以上步骤只能抓取部分app的包,有的app无法抓包,设置代理后,app就会提示无法连接网络

问题原因:

如果开启fiddler抓包后,部分APP正常解密HTTPS,部分APP不行(比较典型的是应用商店,淘宝,知乎等)原因是APP启用了SSL Pinning(SSL 证书绑定)

基本原理是APP内置了一个证书校验。导致你虽然安装并且信任了你抓包工具的证书,但是如果APP开启了Pinning,仍然会把你这个证书当做无效证书,导致HTTPS建立失败。

3、破解app抓包限制

采用Xposed+JustTrustMe关闭SSL证书验证

注意:安卓手机安装Xposed框架需要Root,可能会导致手机变砖,建议使用模拟器。

①在夜神模拟器里面搜索sposed,直接下载

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_抓包_08

 

注意:模拟器安装Xposed框架时,先将之前设置的WIFI代理关闭,不然会出现下面的错误,导致框架安装不了。

正常打开如下,点击 Version 89更新

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_抓包_09

 

 

 安装成功

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_sed_10

 

 

②安装JustTrustMe模块

 JustTrustMe:一个禁用SSL证书检查的xposed模块。

下载安装即可,github下载地址:https://github.com/Fuzion24/JustTrustMe/releases

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_sed_11

 

 

安装完成后,在Xposed Installer中勾选该模块,然后重启设备。

fiddler抓包android应用,手机无法上网 fiddler抓包手机app没网_SSL_12

 

 以上设置完后就可以重新设置网络代理进行抓包

注意:

推荐使用模拟器进行抓包。

下载软件时先将设置的WIFI代理关闭,抓包时再手动设置代理。

正常配置后抓不了app数据包,推荐使用Xposed+JustTrustMe解决方案。