• 3
  • 4
分享

 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。

2-1.png

  一、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数据显示;

2-2.png

  ②切换到连接选项卡,勾选作为系统启动代理(A),点击ok,会弹出证书直接确认,需要重启Fiddler,Fiddler配置成功。

2-3.png

  2、Android手机抓取https请求

  ①在手机上设置代理:设置-无线网络,找到你要连接的网络,设置服务器ip和端口号(端口号默认为8888)

  ②打开手机浏览器,输入ip+端口号;

  ③获取到证书,点击安装即可。

  3、iPhone手机抓取https请求

  ①同安卓,但是需要在手机系统设置-关于手机-证书信任设置

  二、抓取指定域名会话

  在使用Fiddler抓包工具时,总会抓取一些我们不需要查看的请求,可以用过滤器(fitlers)实现。

  1、使用过滤器(fitlers)-勾选使用过滤器-主机选择-仅仅显示以下主机;

  2、在主机框中输入需要的域名,此时左侧会话列表就会筛选出符合条件的会话;

2-4.png

  三、http请求统计试图

  在测试过程中,我们对产品会有不同的统计要求,例如加载页面的请求及响应时间、资源的重复拉取、状态码是否为200等,以下是我在工作中通过Fiddler抓包查看请求时需要注意的内容:

  1、页面请求时间的粗略统计,刷新页面用Fiddler抓取的此页面的所有请求,可以在会话列表中,shift点击最后一条+点击点击第一条请求,右边统计可以看到请求开始时间和结束时间;

  2、是否存在资源的重复拉取,选中抓取的所有请求,进行重复项筛选,重复项筛选只需复制url(例如:使用excel进行重复项筛选);

2-5.png

  3、状态码302跳转不能超过两次(302代表暂时性转移,用户访问地址A,临时转到地址B,增加用户等待时间;若有网站url改变的情况,允许出现302);

  4、状态码404请求不能出现,不能出现请求失败的情况;

2-6.png

  5、http请求需要经过gzip压缩:找http请求,点击嗅探-headers,检查有没有Accept-Encoding:gzip,deflate(减少通过网络发送的字节数)。

2-7.png



作者:付伟   

来源:51CTOTesting软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、fiddler抓取不了微信小程序的包最近突然遇到微信抓取不到小程序包,之前都是好的,但突然就凉凉了,经过不懈的查找终于在某个大佬的文章找到解决方法。原址在这里:https://mbd.baidu.com/ma/s/VwHQ8Rom以下是自己的操作记录。打开小程序,然后打开任务管理器找到小程序的应用,右键点击小程序,或者Mini Programs打开文件所在位置,在Plugins下有个WMPFRuntime包先将小程序和微信都关闭掉,然后将WMPFRuntime包内的文件都删除掉,关闭电脑防火墙,重新登陆微信,将小程序移除后重新获取,打开fiddler就可以进行抓包了!PS:如果出现设置好后...
            2 1 22240
            分享
          •   情景说明  小Q是一名工作多年的测试开发工程师,优势是技术能力强,善于通过技术解决工作中的问题,待改进项是思想站位需要提升,做事推动力需要加强。  辅导过程  小Z:工作中对你的建设性反馈中有一项是需要提升思想站位,今天来聊聊。  小Q:好,但我想问下,到底什么叫提高思想站位,具体表现是什么?高和低的区别是怎样的?  小Z:好问题。官方的解释你可以查查资料,我用工作中一个例子阐述一下。  以自动化测试这个事项为例,作为主R(专项负责人),大体上可以有三个维度,一是看问题的视角,二是时效性,三是对资源的撬动。  1.看问题的视角:你思考问题的视角要能够站在更大的范围,同样是自动化测试专项,你...
            0 0 488
            分享
          • 一、Linux系统的特点安全、稳定;Linux的发行版本,多且专业;Linux开源;Linux的多任务管理;Linux支持多用户登录。二、Linux系统命令的分类1、目录操作和管理命令cd mkdir rmdir rm pwd ls2、文件操作和管理的命令vi cp mv cat touch more less head tail3、权限管理命令chmod chown chgrp4、资源管理命令rpm yum tar5、用户管...
            10 10 859
            分享
          • 为了完成一个用例中的业务逻辑,时常需要通过在上一个请求的响应报文中抽取相关的数据,从而将其应用在下一个或以后的请求中,从而实现一系列完整的流程。使用JSON Path Assertion添加一个JSON Path Assertion:右键一个sampler→添加→断言→JSON Path Assertion例如,请求注册的相应报文为:Destination Variable Name中填入后续引用该响应报文中的参数值的参数名,JSONPath Expression中填入想要抽取的JSON格式的响应报文中的对应参数名,Default Value中填入当抽取失败时候的响应值。使用BeanShell...
            12 12 1760
            分享
          • 1、引言小屌丝:鱼哥, 都说要想代码写的溜,Lamdba不能少。小鱼:你在项目代码多写几个lamdba试试,看看架构师找不找你喝茶水。小屌丝:…小鱼:逗你玩… 架构师哪舍得自己花钱买茶叶,都是能蹭就蹭…小屌丝:…小鱼:你这突然提到lamdba函数,是想了解点什么??小屌丝:嘿嘿,真是什么都瞒不过你, 我就想把python最常用的内置函数在重新捋一捋,小鱼:说实话。小屌丝:你也知道,我女神最近在学习python,所以我想…小鱼:靠… 就知道你是这样的!小屌丝:鱼哥,我也是身不由己啊, 不然… 说出来都是眼泪。小鱼:行了,别装的这么可怜, 我给你捋一捋不就行了。小屌丝:啥也别说了,此时我想…2、内...
            1 0 1105
            分享
      • 51testing软件测试圈微信