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-delayresponse-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使用文档相关推荐

  1. 公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档

    移动应用App已经渗透到每个人的生活.娱乐.学习.工作当中,令人激动.兴奋且具有创造性的各种App犹如雨后春笋般交付到用户手中.各类智能终端也在快速发布,而开发者对于全球移动设备的质量和性能却掌握甚少 ...

  2. 软件测试常用文档规范

    一.测试计划 1.编制说明 1.1 编写目的 1.2 项目背景 1.3 术语定义 1.4 参考资料 一般参考可研需求文档.操作手册 2.测试摘要 2.1 测试进度及人员安排 2.2 测试范围 3.测试 ...

  3. [转载]Office文档在线编辑的实现之二

    上篇文章 http://www.cnblogs.com/jianyi0115/archive/2007/03/16/677712.html 讲述了如何通过iis的webdav支持实现客户端的offic ...

  4. Office文档在线编辑的实现

    因为项目的关系,研究了一下Office的在线编辑功能,写出来共享一下. Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件. IIS(6.0)支持webdav ...

  5. pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联

    前言 使用 yaml 文件写测试用例的时候,如何在 yaml 文件的测试用例里面实现参数关联? 这是很多做自动化测试的小伙伴经常思考的一个问题. 接着前面的pytest+yaml 文件实现接口自动化框 ...

  6. 前端学习常用文档地址(自用常更新)

    别人的博客: https://author.baidu.com/home?from=bjh_article&app_id=1701892162438987 微信公众号认证流程小程序微信认证认证 ...

  7. 没有接口文档,但是leader要你做接口测试应该怎么办!

    我相信很多小伙伴会跟我一样有以下的表情,黑人问号,这不是在为难我们嘛,就像我们常说的"巧妇难为无米之炊",一样的道理,但是不要慌,上有政策,下有对策嘛.且听我慢慢道来 方案一 我们 ...

  8. 工作中各种内容汇总文档--纯个人记录贴

    零.测试相关 1.1.[腾讯文档]测试话术-转载 https://docs.qq.com/pdf/DU3ZwWG5HWkFsT1ZM 1.2.[腾讯文档]20210818-软件测试培训-自制 http ...

  9. 网页文档的复制与下载

    声明:文章内容仅用于学习交流,切勿不当使用. 上网的时候经常会遇到网页禁止复制文本或者禁止文档下载的情况.今天结合案例分析下实现这些限制的手法和解除办法. 1.文档复制 首先创建一个demo.html ...

  10. 导出swagger2生成的文档

    百度了好多篇用法,没法用.特此记录一下 一.下载项目 下载https://github.com/Swagger2Markup/spring-swagger2markup-demo下的项目,保存,注意文 ...

最新文章

  1. Java学习总结:47(打印流)
  2. 45个优秀的国外电子商务网站设计实例
  3. 终端bash美化(FC)
  4. 组件skype服务器,Skype for Business Server 中的中介服务器组件
  5. java 请求http get_java http get/post请求
  6. 【内容生产创“新”之道】
  7. ajax同步导致ajax上面的代码不执行?
  8. 分布式Redis深度历险-复制
  9. usb路由器 php,无线路由器上的USB接口有什么用处?绝不是你想的那样简单
  10. 计算机硬件设备税率,软件产品增值税即征即退税额的计算
  11. 山东大学软件学院《数据仓库与数据挖掘》复习知识点
  12. 基于STM32F103的电子磁密码锁智能门禁原理图PCB程序设计
  13. 使用HAL_IWDG_Refresh()函数,可能造成硬件错误
  14. 完美解决“无法验证发行者,确定要运行此软件吗”
  15. 双减背景下小学中年级语文单元整体作业设计的实践研究
  16. 微信搜一搜将开放搜索入口给搜狗搜索
  17. Leetcode- 岛屿数量
  18. w ndows无法启动wlan,分享windows无法启动wlan autoconfig的解决方法
  19. MySQL 创建数据库/表/字段
  20. 立体像对空间前方交会(利用外方位元素交会出地面点三维坐标)

热门文章

  1. 【全套完结】模拟电子技术基础——全套实验手册及仿真工艺实习【建议保存】
  2. D. Bash and a Tough Math Puzzle(区间gcd+思维)
  3. 定时开关机软件推荐及相关特点介绍
  4. vue前端项目的结构以及组成部分
  5. 云计算的小兄弟:雾计算和霾计算
  6. 360勒索病毒补丁,不能访问共享修复
  7. PRML 1.6 信息论
  8. 如何突破大众点评接口风控?
  9. java .class 反编译工具推荐
  10. html怎么打开本地文件,HTML怎么打开本地文件