首先给大家分享一个抓包的小故事:
小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问题,页面展示异常”;
小A说:“这哪是我的问题,你去找后台吧,后台接口返回数据有问题”;
小T就屁颠屁颠的跑到后台接口开发小M那里说:“你接口返回数据有问题,改下吧”;
小M看了看服务器日志说:“没找到报错啊,我这里服务正常,你抓个包看下吧”;
小T郁闷了,屁颠屁颠的回去了想:“抓包?抓啥包?”;
以上故事,在实在的测试工作中应该会有不少初入职场的测试人员遇到,如果你对fiddler抓包还不熟悉,那么接下来这篇文章可能对你有所帮助,废话不多说,下面开始介绍。
我们使用浏览器或者客户端软件都要与外界进行通信,就必然会有数据的发送和接收,有时候需要对这些传递的数据进行分析,因此需要截获这些传递的数据。
其中对这些数据进行截获、重发、编辑、转存的过程叫做抓包。
Fiddler是一款常见的抓包分析工具,可以详细地对HTTP请求进行分析,并模拟对应的HTTP请求。
为什么选择Fiddler ?
1、本地化的工具,是一个使用本地 127.0.0.1:8888 的 HTTP 代理
(任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler)
2、Fiddler本身对http协议支持较好,且操作简单容易上手
3、具有抓包和分析功能,省去了安装其他工具的必要
4、工具本身功能强大,如劫包、篡改数据、限速等
Fiddler工作原理
Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888.
当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
下面就总结下使用抓取https协议的方法:
使用方法
1、fiddler的安装
先下载好安装包,环境准备好后开始安装:
操作步骤:I Agree>Install>OK 这个工具有一个反人类的东西就是安装完成没有自动在桌面生成快捷键,所以还需要在安装的时候注意安装路径并找到目录去手动创建快捷键。
工具主页面:
2、设置fiddler
打开fiddler,进入Tools-Fiddler Options,打开HTTPS页卡。勾选Capture HTTPS CONNECTs、Decrypt HTTPS traffic和ignore server certificate errors
配置完成后重启fiddler
3、安装证书
1)下载fiddler HTTPS证书后保存到电脑,打开Internet选项-内容页卡
2)点击证书,然后导入之前下载的fiddler证书即可
4、手机端安装证书
1)Android端安装证书
将证书导入到存储盘中,进入系统设置-安全页面,点击从存储盘安装fiddler证书。安装完成后再将手机代理到fiddler即可抓取https包。
部分手机在代理访问https协议的时候会自动弹出安装证书的界面,可直接安装(大部分都要手动安装)
2)iOS端安装证书
iOS较麻烦,我也是参考网上的方法,将fiddler证书使用附件发送到邮箱。用Safari打开邮箱,下载证书后安装。如果有好的方法,再分享出来。
3)在网上看到一个安装证书较简单的方法
手机连上fiddler代理后,如代理服务器为:30.30.30.30,端口为8888。使用手机浏览器访问30.30.30.30:8888,会自动跳转到fiddler证书下载页面,如图
点击FiddlerRoot certificate即可安装
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群: 755431660