Fiddler 工作原理及界面简介

 

目录

 

1.Fiddler 简介及工作原理 

1.1 Fiddler 简介

1.2 Fiddler 工作原理

1.3 不同浏览器 Fiddler代理服务器设置

1.3.1 IE浏览器

1.3.2 Chrome 浏览器

1.3.3 Firefox 浏览器

2.Fiddler 界面简介(V5.0)

2.1 Fiddler 菜单栏

2.1.1 Capture Traffic 功能

2.2 Fiddler 工具栏

2.2.1 Remove Session

2.2.2 Decode功能

2.3 Session面板

2.3.1 Session面板字段解析

2.3.2 #列图标解析

2.4 Filters 过滤页签

2.4.1 Host过滤指定域名

2.5 Inspectors 检查页签

2.6 Statistics统计页签

2.7 AutoResponse自动响应页签

2.7.1 AutoResponse 使用内置响应 操作步骤

2.7.2 多种url匹配方式

2.8 Composer构建页签

2.9 Timeline时间轴页签

2.10 log日志页签


1.Fiddler 简介及工作原理 

1.1 Fiddler 简介

Fiddler是位于客户端和服务器端之间的HTTP代理,也是目前最常用的抓包工具之一 。它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

1.2 Fiddler 工作原理

Fiddler的原理是以web代理服务器的形式进行工作的,代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。

如图所示:

使用的代理地址:127.0.0.1,端口:8888。

1.3 不同浏览器 Fiddler代理服务器设置

1)启用Fiddler后,系统代理设置会自动开启,地址更新成127.0.0.1:8888,如下图所示:

2)若启用Fiddler后,系统代理设置意外/人为关闭,页面会给出提示,点击后会自动开启。提示如图所示:

3)若在开启Fiddler之后没有设置相应的代理,则Fiddler是无法捕获到HTTP请求。

4)当Fiddler退出的时候系统代理设置会自动关闭, 这样就不会影响别的程序。如果Fiddler非正常退出,会造成网页无法访问。因为此种情况Fiddler没有自动注销,重新启动下Fiddler即可。

1.3.1 IE浏览器

IE代理服务器使用系统代理设置。若使用IE浏览器进行测试时,启用Fiddler后,代理会自动开启,地址更新成127.0.0.1:8888,参考系统代理设置截图。

1.3.2 Chrome 浏览器

Chrome代理服务器使用系统代理设置。若使用Chrome浏览器进行测试时,启用Fiddler后,代理会自动开启,地址更新成127.0.0.1:8888,参考系统代理设置截图。

1.3.3 Firefox 浏览器

若使用Firefox浏览器进行测试时,启用Fiddler前,需要配置代理服务器。可选择使用系统代理设置,启用Fiddler后,系统代理自动开启;也可选择手动代理配置。

路径:打开菜单->选项->常规->网络设置->设置

1) 使用系统代理设置,如图所示

2) 使用手动代理配置

2.Fiddler 界面简介(V5.0)

2.1 Fiddler 菜单栏

Fiddler的菜单栏,包括捕获请求/停止捕获请求、保存Session,导入/导出Session、清除Session、标记Session、设置捕获规则等功能。

 

2.1.1 Capture Traffic 功能

使用Fiddler进行抓包前,首先需要确保Capture Traffic是开启状态(安装后是默认开启的),路径:File->Capture Traffic;也可以直接点击Fiddler界面左下角的图标Capturing 开启和关闭。

2.2 Fiddler 工具栏

Fiddler 工具栏,包括Fiddler针对当前view的操作,如选择某Session重新执行(Replay),清除Session(可根据类型筛选),Decode、清除缓存等。

2.2.1 Remove Session

x:Remove Session 可根据类型筛选,主要包括:Remove all、Images、CONNECTs、Non-200s、Non-Broweser、Complete& Unmarked、Duplicate response bodies

2.2.2 Decode功能

Decode:主要用于Response乱码时的处理。有时当看到Response Body是乱码时, 被压缩了, 通过Decode可以自动解压缩,显示正常。

如图所示,

① 直接点击工具栏中的"Decode";

② 点击提示“Response body is encouded.Click to decode.”

2.3 Session面板

Session面板,主要是Fiddler抓取到的Http请求,主要包含了Result 、Protocol、HOST、URL、BODY、Content-Type等信息,如图所示:

2.3.1 Session面板字段解析

# :HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增。

Result : HTTP 状态码

Protocol:请求使用的协议(如HTTP/HTTPS)

Host:请求地址的域名/ip

URL:请求的服务器路径和文件名,也包含GET参数

Body:请求的大小,以byte为单位

Content-Type:请求响应的类型

Caching:请求的缓存过期时间或缓存控制header的值

Process:发出此请求的Windows进程及进程ID

Comments :用户通过脚本或者菜单给此session增加的备注

Custom:用户可以通过脚本设置的自定义值

2.3.2 #列图标解析

2.4 Filters 过滤页签

Filters功能,主要用于过滤Sessions。

2.4.1 Host过滤指定域名

在Filers面板中勾选“Use Filters”,并在Hosts区域,设置以下三个选项:

1)第一项有三个选项,分别是:

“No zone filter”“Show Only Intranet Hosts”“Show Only Internet Hosts”,不做更改;

2)第二项有四个选项,分别是:

No Host Filter:不设置hosts过滤

Hide The Following Hosts:隐藏过滤到的域名

Show Only The Following Hosts:只显示过滤到的域名

Flag The Following Hosts:标记过滤到的域名

选择“Show Only The Following Hosts”,在文本框内输入需要过滤的域名,多个域名使用“;”分割。Fiddler默认会筛选设置的Host,只显示设置中的Sessions。

qa.macmall.com为例,如图所示:

2.5 Inspectors 检查页签

inspectors :分为上下两个部分,上半部分是请求头部分,下半部分是响应头部分。对于每一部分,提供了Headers、Textview、Hexview、Raw、JSON等多种不同格式查看请求和响应的内容。

JPG 格式使用 ImageView 可以看到图片。

HTML/JS/CSS 使用 TextView 可以看到响应的内容。

Raw标签可以查看原始的符合HTTP标准的请求和响应头。

Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息。

2.6 Statistics统计页签

关于HTTP请求的性能和其他数据分析,如图所示:

通过该页签, 用户可以通过选择多个Session来得来这几个Session总的信息统计,比如多个请求和传输的字节数。

2.7 AutoResponse自动响应页签

Fiddler比较重要且比较强大的功能之一。

可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。

可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者是Fiddler的内置响应。

如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。

2.7.1 AutoResponse 使用内置响应 操作步骤

步骤1:勾选Enable rules

步骤2:Add Rule 

步骤3:RUle Editor 并Save

 

步骤4:在浏览器中访问http://qa.macmall.com/order/manual-order/v2/pre-submit,得到的结果即为设置的内置响应:

 

2.7.2 多种url匹配方式

1. 字符匹配

macmal可以匹配http://qa.macmall.com/https://qa.macmall.com/

2. 完全匹配

以EXACT开头表示完全匹配,如:

EXACT:http://qa.macmall.com/order/operation/manual-receipt

3. 正则表达式匹配

以regex: 开头,使用正则表达式来匹配URL

如:regex:(?insx).*\.(css|js|PHP)$  表示匹配所有以css,js,php结尾的请求url

2.8 Composer构建页签

1.支持手动构建和发送HTTP, HTTPS和FTP请求。

2.支持从Session列表中拖曳Session,放到Composer选项卡中, 然后点击Execute按钮, 把请求发送到服务器端。操作如下图所示:

步骤1:拖拽Session

步骤2:Execute操作(每点击一次,请求一次)

3.支持修改请求头等信息,如添加常用的accept, host, referrer, cookie,cache-control等头部,然后Execute。

2.9 Timeline时间轴页签

Timeline时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。

每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为 X 轴, 用图表的形式展现出来, 就形成了瀑布图。

在左侧会话窗口点击一个或多个,Timeline 便会显示指定内容从服务端传输到客户端的时间。如图所示:

2.10 log日志页签

打印日志功能。

 

 

 

 

 

 

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值