Fiddler是一款强大的抓包工具,通过改写HTTP代理,让数据经由Fiddler,借此来监控并截取到请求和返回数据。这样一来它不仅可以定位前后端问题,还能够记录客户端和服务端的所有http请求、设置断点、篡改数据等,功能非常强大。
Fiddler界面简介
Fiddler的基本界面包含:工具栏、会话列表、命令行工具、HTTP Request信息栏、HTTP Response信息栏等。
1、工具栏:快捷功能菜单,可以进行清除会话、保存会话等操作;
2、会话列表:截获的请求会话列表,每一个请求为一个会话;
3、QuickExece命令行:允许直接输入命令(如:Help、Cls、bpu)
4、HTTP Request信息栏:可以查看headers、cookies、raw等信息;
5、HTTP Response信息栏:可以查看服务端返回的headers、json等信息
嗅探页签特别推荐一下,该页签下有很多查看会话消息内容的功能,其中Raw可以查看完整的消息,Headers只查看消息中的header。
一、Fiddler抓取http、https请求配置
那么在使用过程中,fiddler如何抓取http请求和https请求呢,下面简单介绍下如何抓取web页面请求。
1、操作方法:打开浏览器,依次打开Tools-高级-打开您计算机的代理设置-连接-局域网设置-高级,将http代理服务器地址改为127.0.0.1:8888。
2、Web端抓取https请求:
①打开fiddler,点击工具栏中的工具(tools)-fiddler选项,点击https进行选项设置,勾选捕获HTTPS连接(H)、解密HTTPS通信(E)、忽略服务器证书错误(I)、RPASpy数据显示;
②切换到连接选项卡,勾选作为系统启动代理(A),点击ok,会弹出证书直接确认,需要重启Fiddler,Fiddler配置成功。
2、Android手机抓取https请求
①在手机上设置代理:设置-无线网络,找到你要连接的网络,设置服务器ip和端口号(端口号默认为8888)
②打开手机浏览器,输入ip+端口号;
③获取到证书,点击安装即可。
3、iPhone手机抓取https请求
①同安卓,但是需要在手机系统设置-关于手机-证书信任设置
二、抓取指定域名会话
在使用Fiddler抓包工具时,总会抓取一些我们不需要查看的请求,可以用过滤器(fitlers)实现。
1、使用过滤器(fitlers)-勾选使用过滤器-主机选择-仅仅显示以下主机;
2、在主机框中输入需要的域名,此时左侧会话列表就会筛选出符合条件的会话;
三、http请求统计试图
在测试过程中,我们对产品会有不同的统计要求,例如加载页面的请求及响应时间、资源的重复拉取、状态码是否为200等,以下是我在工作中通过Fiddler抓包查看请求时需要注意的内容:
1、页面请求时间的粗略统计,刷新页面用Fiddler抓取的此页面的所有请求,可以在会话列表中,shift点击最后一条+点击点击第一条请求,右边统计可以看到请求开始时间和结束时间;
2、是否存在资源的重复拉取,选中抓取的所有请求,进行重复项筛选,重复项筛选只需复制url(例如:使用excel进行重复项筛选);
3、状态码302跳转不能超过两次(302代表暂时性转移,用户访问地址A,临时转到地址B,增加用户等待时间;若有网站url改变的情况,允许出现302);
4、状态码404请求不能出现,不能出现请求失败的情况;
5、http请求需要经过gzip压缩:找http请求,点击嗅探-headers,检查有没有Accept-Encoding:gzip,deflate(减少通过网络发送的字节数)。
作者:付伟
来源:51CTOTesting软件测试网原创