1、抓取Android移动端App请求
前提:
- 因为Fiddler抓包的原理就是通过代理,所以确保被测终端要和安装Fiddler的电脑在同一个局域网中。(也就是同一网段中)
- 确保防火墙允许Fiddler进程可以远程连接。(不行就关闭防火墙)
步骤1:开启Fiddler的远程连接
Fiddler中,Tools菜单 —> Options…
—> Connections
标签页,勾选Allowremote computers to connect
,并记住端口号为8888,等会设置手机代理时需要。设置好后重启Fiddler保证设置生效。
设置如下:
allow remote computers to connect
表示“允许远程计算机连接”。意思是代理的移动设备可以连接到Fiddle上,必须勾选。
步骤2:开启Fiddler的HTTPS请求解码
详细说明请看上一篇文章【Fiddler抓取HTTPS请求】,操作结果如下图:
提示:设置完成后最好重启一下Fiddler。
步骤3:查看本地电脑IP地址
在CMD命令行中输入ipconfig
查看本地电脑IP地址,如下图:
步骤4:在手机中设置网络代理
移动端手机的网络代理要设置成Fiddler代理。
设置 —> WLAN —> 点击已链接网络的箭头 —> 向下滑动屏幕找到代理,进行配置。
- 选择代理为手动。
- 代理服务器主机名:填写电脑的IP地址(步骤2查询的)
- 代理服务器端口:填写Fiddler设置的代理端口(在步骤1中,
Connections
标签页中的配置)
如下图所示:
这时PC端上的Fiddler,就可以抓取到移动端App应用的请求了。
如下图所示:
提示:但此时仅限于抓取App应用中的HTTP请求包。
步骤5:安装证书抓取HTTPS请求
打开手机中的浏览器,输入192.168.3.104:8888
,这是你上面在手机中,所设置网络代理Fiddler的服务地址。
如果出现响应页面说明访问代理服务Fiddler成功,就可以安装证书了。
说明:
You can download the EiddlerRoot certificate
:表示您可以下载Fiddler根证书。
安装Fiddler根证书操作如下:
打开设置 —> 更多设置 —> 系统安全 —> 加密与凭据 —> 从存储设备安装
,选择下载好的FiddlerRoot.cer
进行安装。(不同的Android系统版本的位置不一样,按照思路自己去找。)
然后在手机中使用浏览器也好,或者打开短视频App也好,就可以进行HTTP或者HTTPS请求的抓取了。
提示:
从手机本地安装Fiddler证书。
我们可以把电脑中Fiddler安装好的证书导出来,然后传入手机存储中。
- 然后点击设置 —> 安全 —> 从SD卡安装 —> 证书存放的文件夹 —> 找到Fiddler证书。
- 点击Fiddler证书 —> 命名证书(一般为CA) —> 点击确定进行证书安装。
注意:测试完毕,记得关闭代理,否则手机无法上网。
2、抓取IOS移动端App请求
提示:iPhone和iPad都可以抓取。
前提:
- 确保被测终端要和安装Fiddler的电脑在同一个局域网中。(也就是同一网段中)
- 确保防火墙允许Fiddler进程可以远程连接。(不行就关闭防火墙)
步骤1:开启Fiddler的远程连接。
Tools菜单 —> Options…
—> Connections
标签页,勾选Allowremote computers to connect
选项。
步骤2:开启Fiddler的HTTPS请求解码。
步骤3:查看本地电脑IP地址。
步骤4:在手机中设置网络代理。
以上步骤都和Android系统的配置方式相同。
步骤5:安装证书抓取HTTPS请求。
打开手机中的浏览器,输入192.168.3.104:8888
,出现如下界面:
点击FiddlerRoot certificate
安装证书,出现下面提示框,点击允许。
然后选择安装证书。
继续点击安装:
证书安装完成,会变成绿色已验证,然后点击完成。
步骤6:在IOS系统中设置信任Fiddler证书。
安装成功后,在设置 —> 通用 —> 关于本机 —> 证书信任设置中,信任刚安装的Fiddler证书。
然后在手机中使用浏览器也好,或者打开短视频App也好,就可以进行HTTP或者HTTPS请求的抓取了。
注意:测试完毕,记得关闭代理,否则手机无法上网。
3、总结:
现在进行如上配置也不一定能抓取所有App发送的请求,现在抓取请求越来越困难,有可能是手机系统的原因,也有可能是App的原因,会有很多防止抓取请求设置。