3.1.3 Fiddler工具详细教程

Fiddler是什么

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

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

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

工作原理

3.1.3 Fiddler工具详细教程

界面及使用介绍

3.1.3 Fiddler工具详细教程

 

工具栏

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

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

(10)Save:保存会话。

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

(13)Browse:启动浏览器;

3.1.3 Fiddler工具详细教程

(14)Clear Cache:清空缓存;

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

(16)Tearoff:浮窗。

3.1.3 Fiddler工具详细教程

Fiddler过滤功能

3.1.3 Fiddler工具详细教程

 

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

 3.1.3 Fiddler工具详细教程

Run Filterset now :马上执行过滤

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

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

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

3、Hosts:

通过主机名来进行过滤。

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

 3.1.3 Fiddler工具详细教程

 

show  only  Intranet  Hosts: 内网

show  only  internet   Hosts:外网

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

 3.1.3 Fiddler工具详细教程

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

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

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

例如下图输入www.baidu.com

 3.1.3 Fiddler工具详细教程

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

4、Client  Process

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

 3.1.3 Fiddler工具详细教程

 

5、Request Headers:

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

 3.1.3 Fiddler工具详细教程

 

6、Breakpoints:

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

断点调试的步骤:

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

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

 3.1.3 Fiddler工具详细教程

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

 3.1.3 Fiddler工具详细教程

 

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

7、Response Status  Code:

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

 3.1.3 Fiddler工具详细教程

 过滤后如图:

 3.1.3 Fiddler工具详细教程

 8、Response Type and Size:

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

 3.1.3 Fiddler工具详细教程

3.1.3 Fiddler工具详细教程

 

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

Block image files:阻止图片文件;

Block SWF files:阻止SWF文件;

Block CSS files:阻止CSS文件;

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

 3.1.3 Fiddler工具详细教程

 

结果如下图:

 3.1.3 Fiddler工具详细教程

 

9、Response Headers:

是对response header的标志和修改。

 3.1.3 Fiddler工具详细教程

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

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

 Delete response headers:删除响应header;

 Set response header:设置响应的header;

Fiddler的弱网测试

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

 

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

Fiddler的数据篡改

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

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

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

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

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

3.1.3 Fiddler工具详细教程

 

Fiddler的https包的数据抓取

 

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

 

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

    3.1.3 Fiddler工具详细教程

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

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

AutoResponder

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

1:重定向到本地的资源

2:使用fiddler的内置响应

3:自定义响应

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

3.1.3 Fiddler工具详细教程

使用内置响应:

3.1.3 Fiddler工具详细教程

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

3.1.3 Fiddler工具详细教程

3.1.3 Fiddler工具详细教程

 

 

3.1.3 Fiddler工具详细教程