为什么是 Fiddler?
理由很简单:因为大多数测试同学都是用 Fiddler。虽然不同的抓包工具功能都大同小异,但就像开发者统一开发工具能够提高团队协作的效率一样,开发和测试之间统一工具也能提高大家的沟通效率。如果测试同学在使用 Fiddler 抓包时遇到了什么问题,比如说某个请求抓不到,你给的答复却是:我用 whistle/charles 没问题啊,这肯定会让测试同学抓狂。
前置准备
下载 Fiddler Everywhere
下载地址:www.telerik.com/download/fi…
使用这个版本的原因是作为一个前端开发,我使用到 Fiddler 的功能就只是抓包,不需要其他太多花里胡哨的,Fiddler Everywhere 可以完美满足我的需求。
配置代理监听
下载安装完成后,登陆 Fiddler 账号,会看到如下的界面:
点击右上角的设置按钮,点击 HTTPS Tab,勾上 Capture HTTPS traffic,然后点击 Trust root certificate 按钮即可。
下一步,点击 Connections Tab,填入一个端口号,然后勾上下方的两个选项:Act as system proxy on startup 和 Allow remote computers to connect。
然后点击 Save 保存设置。
移动端抓包
以 iOS 为例:
第一步,将手机与电脑连入同一个网络,如同时连接公司的 WIFI。
配置代理
第二步,编辑 WIFI 连接,会看到类似如下的界面:
点击最下方的配置代理,选择手动,然后填入服务器和端口,服务器就是电脑的 IP 地址,端口是 fidder 中设置的监听端口。
安装并信任证书
在手机浏览器中打开 ${IP}:${fiddlerPort}
,会看到如下界面。
说明:IP 表示当前电脑的 IP 地址,fiddlerPort 是上一步在 fiddler 中设置的监听端口。
点击 FiddlerRoot certificate 的链接,下载。
下载完成之后进入设置 => 已下载描述文件,点击进入后安装即可。
以为到这里就结束了?不,我们虽然已经安装了证书,但还没有信任,这样的话还是没有办法抓包哦。
进入 设置=>通用=>关于本机=>证书信任设置,信任 Fiddler 证书即可。
注意:不同的手机、不同系统版本安装证书的方式不一致。具体见文章最下方的 安装证书 部分
h5 抓包测试
这时候我们在手机上打开 Safari 浏览器,访问 www.baidu.com, 查看 Fiddler:
可以看到有很多来自 www.baidu.com 的请求,随便点击一个:
在右侧可以看到这是一个图片请求,可以看到相关的 request 和 response 信息。到这一步,我们的 h5 抓包就成功了。
小程序抓包测试
我们随便进入一个小程序看看效果,这里选择的是 京喜 小程序。进入之后我们可以看到很多的请求,点击一个请求,和 h5 一样,我们依然可以看到请求的 request 和 response。
大功告成。
安装证书指引
MIUI 12(小米)
下载证书
电脑上打开终端,查看IP( windows 命令为 ipconfig, mac命令为 ifconfig)
则我们的电脑 IP 为 192.168.43.216
, 再加上 Fiddler 中配置的端口名,就得到了我们的证书安装路径了:192.168.43.216:8866
,在手机浏览器中打开,会看到如下的界面:
点击最后的文字链接,下载证书。
安装证书
MIUI 系统和其他安卓手机不一样的是,其他手机(如华为)下载证书之后直接点击证书文件就可安装,但小米需要走一个单独的安装步骤。
进入 设置 => 密码与安全 => 系统安全 => 加密与凭据 => 安装证书 => CA证书,会看到如下的界面:
点击左下角的 仍然安装 按钮(这一步需要验证指纹或者密码),进入证书文件选择界面:
一般这里不会展示我们刚刚下载的证书文件,那么怎么去找呢?
比如我们的证书是使用夸克浏览器下载的,那么我们进入夸克浏览器的下载界面,查看下载设置中的下载路径设置:
这里可以看到我们的文件下载后存放在什么文件夹,比如我们这里的:Quark/Download
(前面的 /storage/emulated/0
忽略掉)
回到上面的证书文件选择页面,点击左上角的菜单按钮,选择自己的设备:
然后进入上面从夸克下载的证书存放路径:
找到刚刚下载的证书,点击即可安装。
大功告成。