fiddler使用文档
fiddler使用文档.
fiddler使用手册
一、fiddler介绍
二、使用fiddler代理,使手机链接绑定host的无线网络
三、抓取移动端app数据包
四、抓包 截包伪造提交包
五、修改请求的返回数据(mock)
六、查看接口响应时间
七、模拟2G、3G、4G网络参数
八、接口动态转发
九、fiddler常用命令
一、fiddler介绍
简介:Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的"进出"的数据(一般用来抓包)工作原理:Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序
二、使用fiddler代理,使手机链接绑定host的无线网络
1、设置本地host
2、打开工具-设置-链接,设置默认端口号
3、使用手机链接公司无线网络:Trucmk1,并且设置代理
三、抓取移动端https的请求
1、设置fiddler:在工具-设置中勾选对应项
2、下载证书:完成链接fiddler代理后,访问本地链接,并在本地链接地址后添加默认端口号,即(:8888)。注:ios要使用苹果自带浏览器
注:IOS安装完证书后需要去关于本机-证书信任设置中去信任证书
四、抓包 截包伪造提交包
1、未避免其他请求混淆先使用ctrl + X清空页面,将手机填好信息,准备提交
2、点击页面底部位置开启劫包,修改完信息后,释放请求
五、修改返回数据(mock)
俗话说,没图说个**!来,直接上图
步骤
1.选择要修改返回数据的请求
2.点击AUtoResponder
3.点击Add Rule
4.选择本地想要的返回数据的文件
常见问题:
1.修改完成之后发现没有走本地的返回数据或不是想要的返回数据
答:
1)Enable rules未勾选
2)选择的文件错误或者文件中返回数据有问题
3)Add Rule之后 Rule Editor中多出EXACT: 手动删除保存即可
六、查看接口响应时间
有时候,某些接口访问过慢,我们需要测试接口查看响应时间,从而进行优化。(由于fiddler自带的没有进行响应时间的统计,所以我们需要给他添加新的规则)
首先打开Fiddler,在菜单栏上面找到Rules→CustomRules
crtl+f 查找class Handlers
我们把下面的代码复制到 class Handlers中,如上图所示(我已经复制进去了)
function BeginRequestTime(oS: Session) {if (oS.Timers != null){return oS.Timers.ClientBeginRequest.ToString(); }return String.Empty; }public static BindUIColumn("Time Taken")function CalcTimingCol(oS: Session){var sResult = String.Empty;if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest)){sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();}return sResult;}
然后退出Fiddler,再重启就可以了,
如图所示:现在多了一列Time Taken(响应时间)
七、模拟2G、3G、4G网络参数
2G:150Kbps,折合下载速度15-20K/s;
3G:1-6Mbps,折合下载速度120K/s-600K/s
4G:10-100Mbps,折合下载速度1.5M/s-10M/s
限速原理
Fiddler限速是以网络延迟的方式实现的,网络延迟时间*网速=传输字节数。
- 点击Rules – Customize Rules(快捷键Ctrl + R)打开Fiddler ScriptEditor,或者直接点开右侧主页签的FiddlerScript。
image.png
- 打开该文件后,Ctrl + F 查找m_SimulateModem标志位,可以看到如下代码:
if (m_SimulateModem) {// Delay sends by 300ms per KB uploaded.oSession["request-trickle-delay"] = "300"; // Delay receives by 150ms per KB downloaded.oSession["response-trickle-delay"] = "150"; }
注释说明:
request-trickle-delay
中的值代表每KB的数据被上传时会被延时多少毫秒;response-trickle-delay
则对应下载时每KB的数据会被延时多少毫秒。比如你要模拟上传速度100KBps的网络,那上传延迟就是1KB/100KBps=0.01s=10ms,就改成10。
当勾选了Simulate Modem Speeds时,request-trickle-delay
与response-trickle-delay
就会被设置,如果本身网速已经相当快的话,
这里设置的值就可以近似地推算出开启模拟后的上传和下载带宽了,比如默认设置下上传延时为300ms下载延时为150ms,可以推算出大致的模拟带宽为:
上传带宽 = 1KB/300ms = (1 * 8/1000) /0.300 ≈ 0.027Mbps
下载带宽 = 1KB/150ms = (1 * 8/1000) /0.150 ≈ 0.053Mbps
(1MB = 1024 KB ≈ 1000 KB 这里为了运算简便就用了1000的倍数,忽略误差)
实际情况下得到的带宽可能会有误差,受各种外因影响不会这么精确。
由此可见下载带宽是上传的两倍,也就是延时越小,带宽越大。带宽和这里的延时是成反比的。
公式换算:https://www.jianshu.com/p/492a1564d16d和https://www.jianshu.com/p/f417d328e0df
八、接口动态转发
regex:https://didi.360che.com/wxhelp(?<name>.+)$
https://didi.360che.com/wxhelp:原域名
https://didi.360che.com/wxhelp2:要转发的域名
用起来非常方便,适用于app多环境测试;后端服务整体升级优化,而前端没有变动,此时可以直接做接口转发就可以了
九、fiddler常用命令
1.查找对应响应码的数据包或请求类型的数据包:
输入“=post”将选择post的数据包并用蓝色底标色
2.匹配指定字符的请求包
输入 ?xx 这里百度为例,?360che.com
3.@
@ Host 高亮所有该主机的会话
4.bpafter
bpafter 字符串 再请求结束得到响应前中断所有包含该字符串的会话
5.bps
bps Http状态码中断所有该状态的会话
6.bpv 或 bpm
bpv 或 bpm后边跟的是HTTP方法表示中断所有该方法的会话
7.bpu
bpu 字符串 在请求到服务器之前中断包含该字符串的会话
fiddler使用文档相关推荐
- 公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档
移动应用App已经渗透到每个人的生活.娱乐.学习.工作当中,令人激动.兴奋且具有创造性的各种App犹如雨后春笋般交付到用户手中.各类智能终端也在快速发布,而开发者对于全球移动设备的质量和性能却掌握甚少 ...
- 软件测试常用文档规范
一.测试计划 1.编制说明 1.1 编写目的 1.2 项目背景 1.3 术语定义 1.4 参考资料 一般参考可研需求文档.操作手册 2.测试摘要 2.1 测试进度及人员安排 2.2 测试范围 3.测试 ...
- [转载]Office文档在线编辑的实现之二
上篇文章 http://www.cnblogs.com/jianyi0115/archive/2007/03/16/677712.html 讲述了如何通过iis的webdav支持实现客户端的offic ...
- Office文档在线编辑的实现
因为项目的关系,研究了一下Office的在线编辑功能,写出来共享一下. Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件. IIS(6.0)支持webdav ...
- pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联
前言 使用 yaml 文件写测试用例的时候,如何在 yaml 文件的测试用例里面实现参数关联? 这是很多做自动化测试的小伙伴经常思考的一个问题. 接着前面的pytest+yaml 文件实现接口自动化框 ...
- 前端学习常用文档地址(自用常更新)
别人的博客: https://author.baidu.com/home?from=bjh_article&app_id=1701892162438987 微信公众号认证流程小程序微信认证认证 ...
- 没有接口文档,但是leader要你做接口测试应该怎么办!
我相信很多小伙伴会跟我一样有以下的表情,黑人问号,这不是在为难我们嘛,就像我们常说的"巧妇难为无米之炊",一样的道理,但是不要慌,上有政策,下有对策嘛.且听我慢慢道来 方案一 我们 ...
- 工作中各种内容汇总文档--纯个人记录贴
零.测试相关 1.1.[腾讯文档]测试话术-转载 https://docs.qq.com/pdf/DU3ZwWG5HWkFsT1ZM 1.2.[腾讯文档]20210818-软件测试培训-自制 http ...
- 网页文档的复制与下载
声明:文章内容仅用于学习交流,切勿不当使用. 上网的时候经常会遇到网页禁止复制文本或者禁止文档下载的情况.今天结合案例分析下实现这些限制的手法和解除办法. 1.文档复制 首先创建一个demo.html ...
- 导出swagger2生成的文档
百度了好多篇用法,没法用.特此记录一下 一.下载项目 下载https://github.com/Swagger2Markup/spring-swagger2markup-demo下的项目,保存,注意文 ...
最新文章
- Java学习总结:47(打印流)
- 45个优秀的国外电子商务网站设计实例
- 终端bash美化(FC)
- 组件skype服务器,Skype for Business Server 中的中介服务器组件
- java 请求http get_java http get/post请求
- 【内容生产创“新”之道】
- ajax同步导致ajax上面的代码不执行?
- 分布式Redis深度历险-复制
- usb路由器 php,无线路由器上的USB接口有什么用处?绝不是你想的那样简单
- 计算机硬件设备税率,软件产品增值税即征即退税额的计算
- 山东大学软件学院《数据仓库与数据挖掘》复习知识点
- 基于STM32F103的电子磁密码锁智能门禁原理图PCB程序设计
- 使用HAL_IWDG_Refresh()函数,可能造成硬件错误
- 完美解决“无法验证发行者,确定要运行此软件吗”
- 双减背景下小学中年级语文单元整体作业设计的实践研究
- 微信搜一搜将开放搜索入口给搜狗搜索
- Leetcode- 岛屿数量
- w ndows无法启动wlan,分享windows无法启动wlan autoconfig的解决方法
- MySQL 创建数据库/表/字段
- 立体像对空间前方交会(利用外方位元素交会出地面点三维坐标)