Fiddler

1. Fiddler简介

1.1 简介

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

1.2 功能
  1. 能够监听http/https的流量,可以截获从浏览器或者客户端软件向服务器发送的http/https请求;
  2. 对截获之后的请求,我们还能够查看请求中的内容;
  3. 伪造请求。不仅可以伪造客户端的请求,还能够伪造服务器的响应。——该功能能够方便我们进行前后端的调试。
  4. 测试网站的性能
  5. 解密https的外部会话。因为https本身是一种加密的协议,通过fiddler我们可以进行解密操作;
  6. 提供第三方扩展插件,满足更多需求。
1.3 Fiddler工作原理

在这里插入图片描述

2. Fiddler下载安装

下载:打开官网
安装:
汉化:

3. Fiddler界面介绍在这里插入图片描述

Fiddler界面从上到下分为:菜单栏、工具栏、会话列表、功能标签、命令行,状态栏六大板块

file capturing = F12 = 左下角capturing

4. 菜单栏

4.1 File菜单

1、Capture Traffic:可以控制是否把Fiddler注册为系统代理。

2、New Viewer:打开一个新的fiddler窗口

3、Load Archive:用于重新加载之前捕获的以SAZ文件格式保存的数据包。

4、Save:支持以多种方式把数据包保存到文件中。

5、Import Sessions…:支持导入从其他工具捕获的数据包,也支持导入以其他格式存储的数据包。

6、Export Sessions…:把Fiddler捕捉到的回话以多种文件格式保存。

7、Exit:取消把Fiddler注册为系统代理,并关闭Fiddler

4.2 Edit菜单

1、Copy:复制会话。

2、Remove:删除会话。

3、Select All:选择所有会话。

4、Undelete:撤销删除会话。

5、Paste as Session把剪贴板上的内容粘贴成一个或多个模拟的会话。

6、Mark:选择一种颜色标记选中会话。

7、Unlock for Editing 解锁会话。

8、Find Session…打开Find Session窗口,搜索捕获到的数据包。

4.3 Rules菜单

1、Hide Image Request:隐藏图片回话。

2、Hide CONNECTS:隐藏连接通道回话。

3、Automatic Breakpoints:自动在[请求前]或[响应后]设置断点。Ignore Image触发器控制这些断点是否作用于图片请求。

4、Customize Rules…:打开Fiddler脚本编辑窗口。

5、Require Proxy Authentication:,要求客户端安装证书。该规则可以用于测试HTTP客户端,确保所有未提交Proxy-Authorization请求头的请求会返回HTTP/407响应码。

6、Apply GZIP Encoding:只要请求包含具有gzip标识的Accept-Encoding请求头,就会对所有响应使用GZIP HTTP进行压缩(图片请求除外)。

7、Remove All Encoding:删除所有请求和响应的HTTP内容编码和传输编码

8、Hide 304s:隐藏响应为HTTP/304 Not Modified状态的所有回话。

9、Request Japanese Content:选项会把所有请求的Accept-Encoding请求头设置或替换为ja标识,表示客户端希望响应以日语形式发送。

10、User-Agents:把所有请求的User-Agent请求头设置或替换成指定值。

11、performance:模拟弱网测试速度。

4.4 Tools菜单

1、Options…:打开Fiddler选项窗口。

2、WinINET Options…打开IE的Internet属性窗口

3、Clear WinINET Cache:清空IE和其他应用中所使用的WinINET缓存中的所有文件。

4、Clear WinINET Cookies:清空IE和其他应用中所发送的WinINET Cookie

5、TextWizard…:选项会启动TextWizard窗口,对文本进行编码和解码。

6、Compare Session:比较回话。

7、Reset Script:重置Fiddler脚本。

8、Sandbox:打开http://webdbg.com/sandbox/

9、View IE Cache:打开IE缓存窗口。

4.5 View菜单

1、Show Toolbar:控制Fiddler工具栏是否可见

2、DefaultLayout、Stacked Layout、Wide Layout三种界面布局

3、Minimize to Tray:最小化Fiddler到系统托盘(快捷键:CTRL+M)

4、Squish SessionList:控制回话列表是否水平收缩。

5、AutoScroll Sessionlist:添加新的回话时,自动滚动到回话列表底部

5. 工具栏

在这里插入图片描述

  1. 备注功能
  2. 重新发送请求,快捷键:R键。
  3. 删除请求
  4. 当有请求前断点时,点击去发送请求。
  5. 流模式。(默认是缓冲模式)
  6. 解码
  7. 保持回话的数量。
  8. 选择你想要抓包或者监听的程序
  9. 查找
  10. 保存所有会话,文件名以.saz为扩展名
  11. 截图
  12. 计时器
  13. 快捷的打开IE浏览器在这里插入图片描述
  14. 清除IE缓存
  15. 文本的编码解码工具
  16. 分离面板
  17. MSDN查询
  18. 本机的信息

6. 会话列表

在这里插入图片描述

  1. 请求的ID编号
  2. http响应状态码
  3. 会话使用的协议
  4. 请求发送到的服务器主机名
  5. 数据包在服务器中的路径和文件
  6. 响应body的字节数
  7. 响应头信息Cache-Control的值
  8. 响应头信息Content-Type的值
  9. 起请求的本地windows进程
  10. 注释
  11. 自定义备注

7. 功能页签

7.1 Statistics页签

通过该页签,用户可以通过选择多个会话来得到这几个会话的总的信息统计,比如多个请求传输的字节数。访问页面时选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出那些请求耗时最多,从而对页面的访问进行速度性能优化。

7.2 inspectors页签(常用页签)

它提供headers、TextView、hexview,Raw等多种方式查看一条http请求的请求和响应,它分为上下两部分:上部分为请求展示,下部分为响应展示。

7.3 AutoResponse页签(常用页签)

它可以抓取在线页面保存到本地进行测试,大大减少了在线调试的困难,可以让我们修改服务器端返回的数据,例如让返回都是404的数据包读取本地文件作为返回内容。

7.4 composer页签(常用页签)

支持手动构建和发送HTTP,HTTPS和FTP请求,我们还可以从回话列表中拖曳回话,把它放到composer选项卡中,当我们点击Execute按钮时则把请求发送到服务器端。

7.5 FiddlerScripts页签

打开Fiddler脚本编辑。
log页签:
打印日志

7.6 Filters页签(常用页签)

过滤器可以对左侧的数据流列表进行过滤,我们可以标记、修改或隐藏某些特征的数据流。

7.7 Timeline页签

时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为X轴,用图表的形式展现出来,就形成了瀑布图。在左侧会话窗口点击一个或多个回话,Timeline 便会显示指定内容从服务端传输到客户端的时间。

7.8 命令行

help 打开官方的使用页面介绍,所有的命令都会列出来。

cls 清屏 (Ctrl+x 也可以清屏)

select 选择所有相应类型的回话(如select image或select css)。

sometext 查找字符串并高亮显示查找到的会话。

size 选择请求响应大小小于size字节的会话。

=status/=method/@host 查找状态、方法、主机相对应的会话

1uit 退出fiddler

bpafter xxx 中断URL包含指定字符的全部回话响应

bps xxx 中断HTTP响应状态为指定字符的全部回话响应。

bpv xxx 中断指定请求方式的全部回话响应

bpm xxx 中断指定请求方式的全部回话响应。等同于bpv xxx

bpu xxx: 与bpafter类似。

8. 状态栏

在这里插入图片描述
1、 显示的Fiddler是否处于捕捉状态(开启/关闭状态),可以点击该区域切换

2、显示当前捕捉哪些进程:
All Processes 捕获所有进程的请求
Web Browsers 捕获 Web 浏览器的请求,应该特指 IE
Non-Browser 捕获非 Web 浏览器的请求
Hide All 隐藏所有请求

3、显示当前断点设置状态,通过鼠标点击切换。有三种:

不设置断点

所有请求在断点处被暂停

所有响应在断点处被暂停

4、显示当前共捕获了多少回话(如:300,表示共捕获了300个会话,如:10/300,表示当前选择10个会话,共捕获300个会话)。

5、第五区块,描述当前状态。

如果是刚打开Fiddler,会显示什么时间加载了CustomRules.js;如果选择了一个会话,会显示该会话的URL;如果在命令行输入一个命令,就会显示命令相关信息。

9. web抓包

我们双击打开软件,进入到如下的一个界面,然后点击某一个请求,你会发现请求的内容是一堆明显不对的文字,然后该请求的左边是一个锁的样式,联想到https加密,你会发现原因可能是没有配置Fiddler。然后解释一下右边的默认返回内容,第一句是**“这是一个CONNECT隧道,加密的HTTPS流量通过该隧道流动。”**,就证实了我们的猜测,果然是因为https加密的原因。在这里插入图片描述
那么如何配置FIddler来解析这些加密的请求呢?
**方法一:**是查官网的安装文档,

**方法二:**看提示,软件公司还是很人性化的在返回内容里面提示了需要在哪里设置,就是第二行那一句:enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option.

我们按照提示来进行设置,先在左上角的工具栏里面找到Tools,然后依次选择Options、HTTPS ,然后勾选Decrypt HTTPS traffic选项,勾选后安装证书。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值