关于Fiddler工具高级使用 fiddler工具介绍
ninehua 2024-12-18 16:03 18 浏览
本篇对Fiddler抓包工具的原理、安装、界面不做介绍,此篇讲解Fiddler工具高级使用,适用于有经验的测试员。
Fiddler高级使用
过滤
Fiddler抓包可以完成我们移动开发者的调试测试需求。但是多余的网页请求和手机的其他链接影响我们手机开发的需求。所以我们需要排除其他无用的包,只关注我们指定的域名的请求包。
打开fiddler,找到Filters选项并点击打开。如图所示
默认情况下,这个页面是灰色的,代表默认不过滤任何请求。现在我们勾选Use Filters。
一般常用的有三种过滤条件:
- 域名过滤,只显示特定域名的记录:
*.baidu.com表示所有的百度二级域名会话;*baidu.com表示一级域名+二级域名的会话。设置好了后一定要点击Actions生效;
- 类型过滤,一般对各种图片、CSS、JS这类的静态素材也不需要看的情况下,直接全部过滤
.*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff)
需要过滤多少自己直接加入就好了
- 3.根据返回状态码,比如只想显示200的状态,其他的不显示
3.2断点请求/响应
如图,箭头所指的位置时可以点击的。共三种状态:
空白:不设置断点。
箭头向上:表示断点请求。此时客户端的请求是无法直接到达目标服务器的,需要手动控制。
箭头向下:表示断点响应。此时目标服务器的响应是无法直接到达客户端的,需要手动控制。
还有一种打断点的方式
在命令行中输入以下命令:
bpu www.baidu.com (断点请求)
bpuafter www.baidu.com(断点响应)
这种方法只会中断www.baidu.com
断点请求并修改
如图,操作步骤:
- 设置断点请求,访问网页
- 点击对应的会话
- 查看请求报文信息
- 修改请求内容
- 完成断点,放行,把该请求发送给目标服务器。
图中Break On Response表示把请求发给服务器,但是服务器的响应被fiddler拦截,此时可以修改响应内容(和断点响应类似)。
断点响应并修改
和断点请求操作类似,只是在响应区域修改报文信息即可。
在断点响应时,请注意超时时间。
3.3模拟网络
在解决日常的支持需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境就较为恶劣,而服务在面对这种恶劣的网络环境的健壮性不够,导致会出现一些意想不到的bug。而在正常的开发自测过程中很难去营造出这种恶劣的网络环境,使得这些bug较难被提前发现和修复。另外一些服务在恶劣网络环境下虽然不会出现不可用的情况,但是用户体验很差,为了优化这个情况下的用户体验,也需要去在本地模拟这种环境来进行调优。所以要去复现这些bug,甚至是去提前发现这些bug,就需要能够在开发环境中模拟出恶劣的网络环境,从而看到在这种恶劣的网络环境下的服务的表现等。当前模拟恶劣网络环境主要可以通过以下这些手段实现:
- 通过应用层或者传输层的代理服务器,通过在代理服务器上设置一些模拟恶劣网络环境的参数,使得通过这些代理服务器的流量都被转化为恶劣网络环境下的流量。如利用Fiddler,Charles等具有代理服务器功能的网络流量分析软件来实现。
- 通过利用一些更底层的驱动层面的服务,通过控制网卡的收包发包的行为,来模拟恶劣的网络环境。如dummynet的ipfw驱动等。
- 通过建立一个可控的网关,在网关上部署模拟恶劣环境的相关程序,所有需要借助该网关进行转发的流量都会被模拟为恶劣网络条件。Linux下的netem就提供了这类支持。
这里主要先讲的是第一种手段,即利用Fiddler来模拟恶劣的网络环境,对服务进行测试,这个手段实现简单,较为直观,但是缺点是只能支持那些利用HTTP进行通信和交互的服务。
方式1:
Fiddler本身已经预置提供了模拟Modem速度的选项,其位置位于:
??Rules – Performances – Simulate Modem Speeds
??勾选该选项后,所有通过Fiddler代理的流量都会变得和多年前的56k小猫时上网一般的慢。
方式2:
直接模拟Modem速度实在是慢爆了,事实上就算是在很差信号的情况下,手机移动网络的速度都已经超过了当年的56k Modem速度了,所以采用默认的配置模拟出来的环境过于恶劣,并不一定符合需求,此时就需要对限速的参数进行调整。
??Fiddler本身就提供了一个配置文件供调整这些参数,点击:Rules – Customize Rules…
??就会用文本编辑器打开CustomRules.js文件,其默认位于用户目录的文档目录下的\Fiddler2\Scripts 位置,后缀名是js,其内容实质是JScript.NET——微软对ECMAScript规范的实现,与日常使用的javascript是属于同一个规范下的,但是在扩展的细节实现存在一定的不同。
??打开该文件后,可以找到一个m_SimulateModem标志位:
该标志位控制着oSession的两个参数值的设置,当勾选了Simulate Modem Speeds时,request-trickle-delay与response-trickle-delay就会被设置,其中request-trickle-delay中的值代表每KB的数据被上传时会被延时多少毫秒,response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒,
如果本身网速已经相当快的话,这里设置的值就可以近似地推算出开启模拟后的上传和下载带宽了,比如默认设置下下载延时为150ms,上传延时为300ms,对应可以推算出大致的模拟带宽为:
上传带宽=(1*8/1000)/0.300≈0.053Mbps
下载带宽=(1*8/1000)/0.150≈0.027Mbps
然而实际情况下却得到了两倍于这个值的带宽,推测可能是Fiddler的内部实现上有一些和描述上的不同,为何为造成这个现象现在还不是很清楚,所以上述公式最后还需要修正一个2.0的系数,即:
上传带宽=((1*8/1000)/0.300)*2.0≈0.106Mbps
下载带宽=((1*8/1000)/0.150)*2.0≈0.053Mbps
假设我们将两个参数都设置为50,则会得到上下载带宽均为0.32Mbps
方式3:
查找到if (m_SimulateModem)语句,修改代码。模拟网络带宽不是恒定的一个低速的值,而是一定范围内随机抖动,下面的脚本实现了一个随机延时量设置,使得网络带宽不是恒定为一个低速的值。
static function randInt(min, max) {
return Math.round(Math.random()*(max-min)+min);
}
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = ""+randInt(100,200);
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = ""+randInt(1,50);
}
在代码里找到onBeforeRequest,这里定义了在发送请求前做什么。加入如下代码可以实现延迟:
oSession["request-trickle-delay"]="3000"; //请求阶段延迟3秒
oSession["response-trickle-delay"]="3000"; //响应阶段延迟3秒
备注:每次编辑并保存配置文件后,Simulate Modem Speeds选项会被取消,需要重新勾选。
相关推荐
- 数据可视化——R语言为ggplot图形添加P值和显著性水平
-
很久很久没有写原创文章了,今天给大家写一个大家发论文都用的到的操作--------为ggplot图形添加P值和显著性水平。建议先点收藏,再点关注,因为本文很长。掌握了本文,用R语言画下面这种图就不求人...
- R语言从入门到精通:Day7(r语言入门教程)
-
原创小浣熊科研猫是时候关注我们一波了在向reviewer或者导师展示自己的统计分析结果时,一张图往往顶得上千言万语;在刚接触到数据时,图也能帮助我们发现数据中潜在的模式或者其中的异常值,这两个例子...
- 360儿童手表3评测 孩子遇危险一键SOS
-
儿童人身安全问题一直是家长最担忧的大事,多年来频频发生的儿童走失悲剧更是将这一话题推向了舆论高峰,在这个基础上,能打电话、防走丢的儿童智能手表迅速走红,可以说多了一剂强有力的助推剂。可以说,360儿童...
- 眼保健操想做就做,全面呵护孩子视力!喵喵儿童护眼仪体验
-
现在的孩子学习压力都很大,平时除了线下作业外,线上作业也不少,不是拍照上传小管家,就是录制视频发到班级群。作为家长的我们不能只关注孩子的学习,更要关注孩子的视力。根据国家卫健委数据显示,2020年我国...
- 用眼过度?一套恢复视力的米字操 飞行员都用的护眼方法了解一下
-
咱都知道,现在这生活里,电子产品无处不在,不管是上班用电脑,下班刷手机,眼睛那是一刻都闲不下来,好多人都有用眼过度的毛病。眼睛干干痒痒的,时不时还流眼泪,近视、老花眼等问题也都找上门来了。今天啊,我就...
- 软硬件齐发力,OPPO Find X8手机配备五大屏幕护眼技术组合
-
直到现在2024年,依然有不少消费者非常青睐LCD屏幕的手机,无他,皆是因为LCD屏幕相较于传统的OLED屏幕来说,护眼性能确实要更胜一筹。而全新发布的OPPOFindX8则在软硬件上齐发力,通...
- 一只360°的智能眼睛------360智能摄像机云台AI版
-
在数字安防物联网飞速发展的当今,很多品牌都在不断崛起,360作为其中的佼佼者,也推出了不少这类的产品,从第一代水滴摄像头开始,360可谓在可视安防品类的产品上保持了高速发展的态势,无论是室内还是室外...
- 扩展功能强大:文本编辑器EditPlus 3.8下载
-
IT之家(www.ithome.com):扩展功能强大:文本编辑器EditPlus3.8下载IT之家讯文本编辑器EditPlus最近更新到3.80版,此次更新增加了和改进了包括对不同文件类型适配不...
- 世上的计算机只有两种字体(世上的计算机只有两种字体是什么)
-
还在纠结在你的下一个演示文稿中要不要使用宋体显示小字,或是你打算在你的论文中使用微软雅黑字体吗?今天的推送就来给大家介绍一下两大字体系列:serif和sans-serif。Serif字体如Times...
- 安卓字体大师2.0.1更新 增加字体搜索及分类功能
-
手机自带字体看久了想要换个新面貌?如何才能轻松换得新字体呢?机友们有福了!字体控们更是不容错过!作为一款强大的字体美化管家,字体大师2.0.1更新再添个性周到化服务。此次更新,字体大师增加了字体搜索和...
- 升职加薪全靠它,6款B站知乎上万人推荐的宝藏神器!强烈建议收藏
-
今天,我们给大家推荐6款电脑软件,B站知乎上万人推荐,每一个都强大到没朋友,升职加薪全靠它,下面一起来看看吧!1.Quicker这是一款能提高我们工作效率的神器,其能帮我们快速打开一些常用工具,像执行...
- 18种好看的电子书字体推荐!(附实机照片)
-
对kindle自带的黑体楷体宋体圆体腻味了吗,其实kindle可以自定义字体的,下面推荐几款好看的电子书字体,话不多说直接上干货(以下图片均为kindleoasis2代实机拍摄,方便大家感受各类...
- 只需万元就能打造媲美影院的环绕音效,JBL BAR 1000回音壁真不错
-
自从给卧室更换了全新的智能投影,我就发现客厅电视的使用频率变低了,和家人探讨了一下,大家都一致认为这台电视的音效不如新换投影的效果好,但要真说因为音效再换一台电视又觉得不值。纠结再三之后,决定入手一套...
- 外国歌手杀疯了!比官方机位更震撼的是直播机位的现场舞台,真牛
-
刷到是缘分,感谢大家的阅读,希望您能动动小手帮忙点赞,关注,评论。你的支持和鼓励是我前进的动力。在此祝福大家天天快乐,日日开心!0102外国歌手这现场表现力真是绝了,直播机位捕捉到的细节比官方镜头更有...
- 使命召唤手游开启测试,战区手游下载方法/登录教程
-
《使命召唤》手游澳大利亚服在11月30日开启测试,应该有很多网友都有所了解。作为一款高人气的FPS游戏,《使命召唤》在国外的地位甚至可以与CF和PUBG相媲美了。而且截止到目前,官方针对不同的地区都推...