一、为什么要先学fiddler?
1、学习接口测试必学http协议,为了更好的理解协议,先从抓包开始。
2、一般接口测试,开发人员会提供接口文档,如果开发人员没有接口文档,这时就需要fiddler 去抓取报文信息,方便进行压力测试。
3、抓包可以更清晰地定位异常接口。
二、安装
1、直接从360软件管家下载即可。
三、PC端使用
1、Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。当然Fiddler很屌,在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了。
2、以谷歌浏览器为例:点击设置=>高级=>系统=>代理设置=>查看代理发现自动配置好。
3、理解正向代理与反向代理,一句话解答:正向代理是客户端通过一个代理服务器请求服务端场景,限制出的方向网络流量;反向代理是服务端通过一个代理服务器响应客户端场景,限制入的方向网络流量。
4、抓包原理是使用正向代理上网,然后通过颁发伪证书的形式获取业务数据,详细过程请看我的前期博客中的Linux中阶—超文本加密协议https(五)中间人攻击章节。
5、开启或关闭抓包功能,点击:文件=>勾选 捕获。
6、https伪证书安装,点击:工具=>选项=>https=>根据如下图片勾选=>动作=>根据如下图片安装证书。
7、配置fiddler代理服务监听按如下配置,点击:工具=>选项=>连接=>根据如下图片勾选。
8、自定义相应字段,点击如下方框,点击:空格右键自定义列,添加需要的列信息,我一般会添加会话计时器,请求时间,相应时间,看接口耗时在哪里。
四、手机APP场景
1、手机设置->WLAN设置->选择该wifi,点右边的箭头(有的手机是长按弹出选项框)。
2、选择修改网络配置:
配置主机名:与主机电脑IP地址保持一致
端口号:8888
3、安装伪根证书。
如果app都是http请求,是不需要安装证书,能直接抓到的,如果是https请求,这时候手机就需下载证书了。
打开手机浏览器输入:http://10.224.xx.xx:8888 ,这个中间的host地址就是前面查到的本机地址。出现如下画面,点箭头所指的位置,点击安装就可以了。
4、设置过滤
手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。
打开fiddler>Tools>Fiddler Options>HTTPS>…from remote clients only,勾选这个选项就可以了。
- from all processes :抓所有的请求
- from browsers only :只抓浏览器的请求
- from non-browsers only :只抓非浏览器的请求
- from remote clients only:只抓远程客户端请求