Fiddler是什么

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

Fiddler作用---对测试人员而言

1、能够监听http/https的数据包,可以截获从浏览器或者客户端软件向服务器发送的http/https请求; 
     2、对截获之后的请求,我们还能够查看请求中的详细报文信息; 
     3、伪造请求。不仅可以伪造客户端的请求,还能够伪造服务器的响应。
     4、测试网站的性能; 
     5、模拟弱网测试
     6、提供第三方扩展插件,满足更多需求。

工作原理

界面及使用介绍

工具栏

(1)气泡:备注。添加之后在会话栏的Comment列中显示备注内容。

(2)Replay:回放【常用】。重播一个会话。快捷键:”选中会话+R”

(3)清除会话面板:过滤请求、清除请求。

(4)Go:断点调式。配合状态栏上的断点工具。功能类似Debug。

(5)Stream:代理模式。默认:缓冲模式。点击进行切换。

(6)Decode:解压请求。解压http请求里面的东西,帮助查看。传输数据获取的响应如果是乱码可以使用decode进行解压操作;

(7)Keep:指示fiddler的保持会话数目。

(8)Any Process:捕获请求,只看需要的请求。将“靶心”投向需要的请求。

(9)Find:查找请求。用颜色标注查找的请求。

(10)Save:保存会话。

(11)截图:默认5秒后截图。

(12)计时器:第一次点击-开始计时;第二次点击–返回计时结果;第三次点击-清零,重新计时。右键点击—不计时。

(13)Browse:启动浏览器;

(14)Clear Cache:清空缓存;

(15)TextWizard:【常用】编码、解码文本内容;

(16)Tearoff:浮窗。

Fiddler过滤功能

1.Actions:意思是动作的意思,也就是要做什么操作,里边包含有几个选项:

Run Filterset now :马上执行过滤

Load Filterset:加载本地过滤设置文件

Save Filterset :保存过滤条件到文件

2、Use Filters :是否使用过滤,只有在选择了这个选项以后才能修改下边的过滤条件,下边的过滤条件可以相互独立,也可以相互组合。

3、Hosts:

通过主机名来进行过滤。

No  Zone  Filter :不通过空间进行过滤,这个是分内网跟外网的

show  only  Intranet  Hosts: 内网

show  only  internet   Hosts:外网

No  Host  Filter :不通过主机名进行过滤

Hide the following Hosts:隐藏下边输入的主机名的请求

show only  the following Hosts:显示下边输入的主机名的请求

flag the following Hosts:标志下边输入的要过来的主机名的请求;

例如下图输入www.baidu.com

蓝色加粗的就是过滤出来的包

4、Client  Process

根据客户端进程来进行过滤,选中 show only traffic from ,然后就可以选择要过来哪个进程的会话

5、Request Headers:

Show only if URL contains 和 Hide if URL contains 使用方法类似功能相反。都是url中包含某些字符过滤,多种情况空格分隔。Hide if URL contains 可以简单理解为隐藏所有js请求,如下例子Show only if URL contains,是展示所有js请求:

6、Breakpoints:

(断点添加可以在工具栏中Rules中进行设置)

断点调试的步骤:

(1)当我们在这个里边设置了断点过滤,那么就会在相应的会话请求中插入断点。

例如下边我在get 请求中插入断点。那么可以发现在执行get 请求的会话是红色的图标。

这个时候如果你要对其中某一条进行断点调试的话,那么就双击,然后就会显示这样一个界面:

点击Break on Response 以后,你切换到下边的TextView选项卡里边,可以发现返回的数据,然后就可以进行修改了

7、Response Status  Code:

响应码过滤,就是隐藏相应状态码的请求

过滤后如图:

8、Response Type and Size:

这部分是根据响应类型和大小的过滤:

Block script files:阻止脚本文件,显示为404;

Block image files:阻止图片文件;

Block SWF files:阻止SWF文件;

Block CSS files:阻止CSS文件;

Block的过滤是挺有意思,如果你选中了block css那么浏览器就加载不到css了。

结果如下图:

9、Response Headers:

是对response header的标志和修改。

 Flag response that set cookies:标记会设置cookie的响应;

 Flag response with headers:标记带有特定header的响应;

 Delete response headers:删除响应header;

 Set response header:设置响应的header;

Fiddler的弱网测试

fiddler设置弱网的文件是(rules-->customize rules):修改以下模拟网速的上传和下载速率

注意:如果使用fiddler模拟网速测试完毕后,一定要记得将其模拟网速的设置进行去掉,否则只要启动了fiddler,则网络一直弱网运行

Fiddler的数据篡改

在fiddler中的rules选择automatic breakpoints进行设置

  • 在实际测试过程中,为了跳过前端页面的数据校验,可以使用fiddler进行设置断点从而实现数据的篡改操作;直接校验后端是否有进行数据的校验;

  • 设置断点可以有两种方式:在请求前设置(before request)、在响应后设置(after response)

    • before request:在请求前设定断点,此时请求没有发送到服务器,所以可以实现数据的篡改,然后将篡改后的数据发送到服务器

    • after response:在响应后添加断点,一个响应可能是由多个http资源所构成,多个资源之间会有相应的联系,在设定断点,发送一个请求其多个响应实现的单步单个资源响应获取;

Fiddler的https包的数据抓取

因为https实际就是基于http协议上进行封装了一层SSL(实现传递数据过程中的部分加密处理)

  • 1.选择fiddler中的options,选择https将下图的选项进行勾选

  • 2.将fiddler的根证书进行导入到需要访问抓包的浏览器,当然如果当前可以抓取到相关https数据包,说明浏览器中已经存在证书,不需要导入;

  • 3.如果需要将tunnel to相关的数据包请求信息进行隐藏的话则可以通过rules中设置hide connets(因为该部分数据包不需要进行分析)

AutoResponder

可用于拦截某一请求,进行如下操作:

1:重定向到本地的资源

2:使用fiddler的内置响应

3:自定义响应

注意:修改完内置响应后,需要对浏览器的缓存进行清除。

使用内置响应:

对CRM访问的地址进行跳转到百度地址:

3.1.3 Fiddler工具详细教程相关推荐

  1. 十五、Fiddler抓包工具详细教程 — Fiddler抓包HTTPS请求(二)

    ###文章内容有配套的学习视频和笔记都放在了文章末尾### 5.查看证书是否安装成功 方式一: 点击Tools菜单 -> Options... -> HTTPS -> Actions ...

  2. Eclipse插件TPTP-程序Profile与分析工具详细教程

    TPTP简介 Eclipse Test & Performance Tools Platform 是Eclipse的一个顶级工程(Top-Level Project),TPTP项目封装了一大堆 ...

  3. Hadoop Dynamometer工具详细教程,填坑日记

    Dynamometer工具使用步骤 Dynamometer 介绍 准备"材料" 原理 注意事项 流程 1.fsimage 2.hadoop binary 3.Configurati ...

  4. 全网最详细charles抓包工具详细教程,实战教程(细致)

    目录:导读 一.前言 二.在PC端抓https包 三.在PC端抓https包 四.在移动端抓http包 五.在移动端抓https包 一.前言 charles相当于一个插在服务器和客户端之间的" ...

  5. charles抓包(charles抓包工具详细教程)

    charles 为什么能抓https的包?原理是什么 众所周知,http明文传输,https加密就是为了在传输层禁止暴露明文,但是为什么抓包工具又能抓到? 岂不是和https的设计矛盾了?? 简单的说 ...

  6. 搭建Bitbucket项目管理工具详细教程

    目录 1.安装前准备 2.jdk安装 2.1.rpm安装方式: 3.创建bitbucket数据库 4.安装Git 5.安装bitbucket 5.1下载完成上传至服务器的 /usr/atlassian ...

  7. HbuliderX项目运行至微信开发者工具详细教程

  8. 蓝湖界面移动端工具详细教程

    1.默认进来页面,默认全部选中 2.点击清除按钮,面板将会被清空 3.点击全选后,全部选中 4.单击左边的某个控件,面板上会选中该控件,再次单击,取消选中 5.长按左边的某个父控件,右边将会将父子控件 ...

  9. charles抓包工具详细教程

    由于个人记性不好,所以决定写篇博客记录下来具体步骤. 我们都知道,charles相当于一个插在服务器和客户端之间的"过滤器".当客户端向服务器发起请求的时候,先到charles进行 ...

最新文章

  1. UISeatchBar
  2. 技术上根本不思进取的金山词霸2007
  3. 华数联手海信升级互联网电视平台
  4. TensorFlow 基本问题思考
  5. 定时器的实现原理 不消耗cpu_brpc定时器实现原理
  6. Elasticsearch 读时分词、写时分词
  7. 使用3dmax渲染出二维画面的方法
  8. 相对开音节java_相对开音节是什么
  9. 用特征根判别法判断AR模型的平稳性,再用随机模拟的方法来验证以及做自相关分析
  10. python快速处理excel表格-python 处理 Excel 表格
  11. Bruce Schneier 和他的密码学以及网络安全经典著作推荐
  12. greedy算法计算金字塔分数问题
  13. 浏览器显示网页的原理 多种情况方式
  14. Android中设置自己应用为默认打开
  15. CSS3教程:Responsive框架常见的Media Queries片段
  16. Java 判断字符是否是汉字
  17. 测测你的金钱观爱情观事业观
  18. FFmpeg被声明为已否决情况整理
  19. 网管软件使用的必要性
  20. android 展开菜单,Android之可收缩展开列表ExpandableList

热门文章

  1. 计算机二级msoffice高级应用教程,二级MSOFFICE高级应用_二级MSOFFICE高级应用教程_二级MSOFFICE高级应用视频教程 _课课家...
  2. TF卡class的大致意思
  3. python3 判断偶数/奇数
  4. javascript anchor()方法
  5. ubuntu18.04安装mongoDB 4.0
  6. bochs上网镜像怎么上网_bochs core镜像可上网版
  7. BUUCTF-Basic
  8. 学校招生幽默软文范文-第一互联传媒分享
  9. 直流电动机在matlab,基于MATLAB直流电动机控制系统的建模与仿真
  10. 计算机毕业设计springboot棉花