首页 > 代码库 > Fidder工具使用

Fidder工具使用

 

简介

一款免费且功能强大的数据包抓取软件。它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视、设置断点、甚至修改输入输出数据等功能。fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。所以无论对开发人员或者测试人员来说,都是非常有用的工具。

 

工作原理

Fiddler是以代理web服务器的形式工作的,它使用代理地址127.0.0.1端口:8888Fiddler会自动设置代理,退出的时候会自动注销代理,这样就不会影响别的程序。不过Fiddler如果非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问,解决的办法是重启下Fiddler。

 技术分享

基础实用功能使用说明

1.使用Fiddler捕获https会话

默认情况下,Fiddler是不会捕获https会话的,这就需要自行设置一下。打开Fiddler,Tools->Fiddler Options->HTTPS Tab,如下:

 技术分享

 

如上图,将框起来的部分打钩即可(出现弹出框时点yes即可)。

2.Fiddler的基本界面

技术分享

 

 

Statistics 对所选中的这些会话的一个统计信息

 Inspectors 对某一条对话的Response和Request的详细介绍

    i)上面是请求信息的监测,Headers是头信息,TextView是内容,Raw是原始信息,就是没有经过分析的信息。

    [RW] Headers—Shows request headers and status.---------------------请求的头信息和统计信息

    [RW] TextView—Shows the request body in a text box.-----------------请求内容部分

    [RW] HexView—Shows the request body in a hexadecimal view.---------请求内容的16进制显示

    [RO] XML—Shows the request body as an XML DOM in a tree view.------请求内容的XML显示

    ii)下面是响应信息的监测,也有Headers和TextView,如果是图片还可以从ImageView看到图片,如果返回的是XML还可以通过XML选项卡查看树型的XML信息

    [RW] Transformer—Removes GZip, DEFLATE, and CHUNKED encodings for easier debugging. ----支持某些压缩

    [RW] Headers—Shows response headers and status. ---------------------------------------------响应的头信息和统计信息

    [RW] TextView—Shows the response body in a text box. -----------------------------------------响应内容部分

    [RW] HexView—Shows the response body in a hexadecimal view.----------------------------------响应内容的16进制显示

    [RO] ImageView—Shows the response body as an Image. Supports all .NET image formats.-------响应内容如果是图片则显示图片

    [RO] XML—Shows the response body as an XML DOM in a tree view.------------------------------响应内容是XML的用树装结构

AutoResponder可以将已有的相应发回给服务器

Filter可以对会话进行过滤

TimeLine 通讯的时间

Log 日志

3.http统计视图

选择一个或多个会话,点击右侧统计,可以轻松的查看所选会话的请求字节数,发送字节数等一系列的统计信息,方便针对统计结果进行相关方面的优化。

4.QuickExec命令行的使用

QuickExec命令行是会话列表下边的黑色区域,允许直接在里边输入命令,回车后可执行命令。

常见的命令有:

help:打开官网命令帮助文档。

cls:清屏(Ctrl+X也可以清屏)。

bpu:截获request

5.如何在fiddler中设置断点修改request

设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法,如下:

a) 打开Fiddler 点击Rules-> Automatic Breakpoint  ->Before Requests(这种方法会中断所有的会话)

如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled

b) 在命令行中输入命令:  bpu www.baidu.com   (这种方法只会中断www.baidu.com)

如何消除命令呢?  在命令行中输入命令 bpu

示例:

1) 打开界面

2) 打开Fiddler,在下边的命令行输入命令 (bpu 登录网址 )

3) 输入错误的用户名密码,点击登录

4) Fiddler能中断这次对话,选择中断的对话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。

5) 结果是正确登录了系统。

6.Fiddler中修改response

a) 打开Fiddler 点击Rules-> Automatic Breakpoint  ->After Response  (这种方法会中断所有的会话)

如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled

b) 在命令行中输入命令:  bpafter www.baidu.com   (这种方法只会中断www.baidu.com)

如何消除命令呢?  在命令行中输入命令 bpafter,

7.Fiddler中创建AutoResponder规则

Fiddler AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。

1) 开启重定向规则,更改Fiddler如下:

 技术分享

界面上有三个选择框,第一个的作用是开启或禁用自动重定向功能,我们就可以在下面添加重定向规则了;第二个选择框被勾上时,不匹配的请求可以通过,不影响那些没满足我们处理条件的请求。

2) 创建重定向规则,将目标文件(左侧被选中会话)的http请求重定向到本地,如:选择某一个会话,如图片或者js等。

3) 点击Add Rule(或者直接拖拽到右侧),即会将选中的会话添加到右侧待处理

4) 选择本地的文件或者需要替换的文件,替换刚刚选择的内容。如下图:

技术分享

 

5) Save之后,会保存到上边的信息框,不管是否进行调试,访问左侧的地址时,都会以右侧的地址内容替代。

6) 不需要时,选中上图的信息,右键即可进行删除此重定向规则。

8.过滤会话

Fiddler一旦开启,会监听所有打开的浏览器的网站的所有会话,有时候我们为了对某一类会话进行分析,就可使用过滤功能。

右侧的Filters Tab进行过滤设置,勾选Use Filters即可对捕获的会话进行设置规则的过滤,左侧的会话列表只显示过滤后的结果,如下图所示:

 

上图选择了 Show only following Hosts的选择项,并在其下文本框内输入相关的hosts信息,则左侧过滤后结果都展示域名为*.baidu.com的结果。

文本框域名填写规则:

a) baidu.com:会只捕获www.baidu.comhttp请求信息。

b) *.baidu.com:会捕获到baidu.com的所有其下二级域名的http请求。

c) *baidu.com:会捕获任何以baidu.com结尾的域名的http请求信息。

d) 多个hosts设置之间以分号相隔。

其它的过滤设置可根据情况自行设定。

9.重新发送一个请求

1) 选择左边的一个会话,右键选择Replay > Reissue Requests,则会将选择的会话重新发送请求,http请求的相关信息不变。

2) 如果想重新发送一个请求,但是改变请求的相关信息,就用使用Composer Tab了。

选择Composer Tab->Scratchpad ,在左边选择需要重新请求的会话,拖拽到右侧,则出现如下:

 技术分享

 

修改该会话的相关信息后,选中此会话(多个会话时选中要执行的会话)并点击右上角Execute按钮执行,则此会话以新的请求信息进行重新请求,左侧会话框则会捕获此次请求,点击会话到相关的Tab,即查看新的http请求信息.

 

 

 

 

 

Fidder工具使用