请求抓包工具——fiddler使用教程以及工作原理

本文详细介绍了Fiddler,一款流行的HTTP代理工具,包括其工作原理、安装步骤、界面构成、菜单栏和工具栏功能,以及会话列表、功能页签和命令行操作等内容,为Web开发者提供强大的网络调试支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、工具简介

   Fiddler是位于客户端和服务器端的HTTP代理
   Fiddler是目前最常用的http抓包工具之一。
   Fiddler是功能非常强大,是web调试的利器。

二、工具原理

原理图如下:

    Fiddler是一个代理服务器。默认代理地址:127.0.0.1,端口:8888。浏览器可以通过设置查看代理服务器:设置⇒高级⇒打开您计算机的代理设置⇒连接⇒局域网设置⇒代理服务器⇒高级中就能看到代理地址。

    当浏览器向服务器请求数据时,被Fiddler截获,截获后再发送给服务器。当服务器向浏览器响应数据时,同样会被Fiddler截获,然后再发送给浏览器,所以我们能够在Fiddler中看到请求的报文和响应的报文。

    关掉Fiddler、代理服务器会自动取消。如果Fiddler非正常退出,因为Fiddler没有自动注销,可能会造成网页无法访问。解决的办法是重新启动Fiddler。

三、工具安装

Fiddler官网下载地址:Fiddler | Web Debugging Proxy and Troubleshooting Tools

Fiddler证书生成器下载地址:fiddler证书生成器下载|fiddler根证书创建器 V2021 最新版下载_当下软件园

Fiddler安装注意事项:不要安装在有中文和特殊字符的目录。

四、界面介绍

Fiddler界面从上到下分为:菜单栏、工具栏、回话列表、功能页签、命令行、状态栏六大板块。如图:

4.1、菜单栏

4.1.1、File菜单

  • Capture Traffic:可以控制是否把Fiddler注册为系统代理。
  • New Viewer:打开一个新的Fiddler窗口。
  • Load Archive:用于重新加载之前捕获的以SAZ文件格式保存的数据包。
  • Save:支持以多种方式把数据包保存到文件中。
  • Import Sessions…:支持导入从其它工具捕获的数据包,也支持导入以其它格式存储的数据包。
  • Export Sessions…:把Fiddler捕捉到的回话以多种文件格式保存。
  • Exit:取消把Fiddler注册为系统代理,并关闭Fiddler。

4.1.2、Edit菜单

  • Copy:复制会话。
  • Remove:删除会话。
  • Select All:选择所有会话。
  • Undelete:撤销删除会话。
  • Paste as Session:把剪切板上的内容黏贴成一个或多个模拟的会话。
  • Mark:选择一种颜色标记选中的会话。
  • Unlock for Editing:解锁会话。
  • Find Session:打开Find Session窗口,搜索捕获到的数据包。

4.1.3、Rules菜单

  • Hide Image Request:隐藏图片回话。
  • Hide Connects:隐藏连接通道回话。
  • Automatic Breakpoints:自动在[请求前]或[响应后]设置断点。Ignore Image触发器控制这些断点是否作用于图片请求。
  • Customize Rules…:打开Fiddler脚本编辑窗口。
  • Require Proxy Authentication:要求客户端安装证书。该规则可以用于测试HTTP客户端,确保所有未提交Proxy-Authorization请求头的请求会返回HTTP/407响应码。
  • Apply GZIP Encoding:只要请求包含具有gzip标识的Accept-Encoding请求头,就会对所有响应使用GZIP HTTP进行压缩(图片请求除外)。
  • Remove All Encoding:删除所有请求和响应的HTTP内容编码和传输编码。
  • Hide 304s:隐藏响应为HTTP/304 Not Modified状态的所有回话。
  • Request Japanese Content:选项会把所有请求的Accept-Encoding请求头设置或替换为ja标识,表示客户端希望响应以日语形式发送。
  • User-Agents:把所有请求的User-Agent请求头设置或替换成指定值。
  • performance:模拟弱网测试速度。

4.1.4、Tools菜单

  • Options...:打开Fiddler选项窗口。
  • WinINET Options...打开IE的Internet属性窗口
  • Clear WinINET Cache:清空IE和其他应用中所使用的WinINET缓存中的所有文件。
  • Clear WinINET Cookies:清空IE和其他应用中所发送的WinINET Cookie
  • TextWizard...:选项会启动TextWizard窗口,对文本进行编码和解码。
  • Compare Session:比较回话。
  • Reset Script:重置Fiddler脚本。
  • View IE Cache:打开IE缓存窗口。

4.1.5、View菜单

  • Show Toolbar:控制Fiddler工具栏是否可见
  • Default Layout、Stacked Layout、Wide Layout三种界面布局
  • Minimize to Tray:最小化Fiddler到系统托盘(快捷键:CTRL+M )
  • Squish Session List:控制回话列表是否水平收缩。
  • AutoScroll Session list:添加新的回话时,自动滚动到回话列表底部

4.2、工具栏

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

4.3、会话列表

会话(session)即Fiddler抓取到的每条http请求数据包。

主要包含:

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

4.4、功能标签

  1. Statistics页签:通过该页签,用户可以通过选择多个会话来得到这几个会话的总的信息统计,比如多个请求传输的字节数。访问页面时选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行速度性能优化。
  2. inspectors页签(常用页签):它提供headers、textview、hexview,Raw等多种方式查看一条http请求的请求和响应,它分为上下两部分:上部分为请求展示,下部分为响应展示。
  3. AutoResponse页签(常用页签):它可以抓取在线页面保存到本地进行调试,大大减少了在线调试的困难,可以让我们修改服务器端返回的数据,例如让返回都是404的数据包读取本地文件作为返回内容。
  4. composer页签(常用页签):支持手动构建和发送HTTP,HTTPS和FTP请求,我们还可以从回话列表中拖曳回话,把它放到composer选项卡中,当我们点击Execute按钮时则把请求发送到服务器端。
  5. FiddlerScripts页签:打开Fiddler脚本编辑。
  6. log页签:打印日志
  7. Filters页签(常用页签):过滤器可以对左侧的数据流列表进行过滤,我们可以标记、修改或隐藏某些特征的数据流。
  8. Timeline页签:时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为X轴,用图表的形式展现出来,就形成了瀑布图。在左侧会话窗口点击一个或多个回话,Timeline 便会显示指定内容从服务端传输到客户端的时间。

4.5、命令行工具

Fiddler命令行可以输入命令操作回话列表,常见命令有:

  • 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类似。

4.6、状态栏

  1. 显示的Fiddler是否处于捕捉状态(开启/关闭状态),可以点击该区域切换。
    • All Processes 捕获所有进程的请求
    • Web Browsers  捕获 Web 浏览器的请求,应该特指 IE
    • Non-Browser   捕获非 Web 浏览器的请求
    • Hide All      隐藏所有请求
  2. 显示当前捕捉哪些进程。
  3. 显示当前断点设置状态,通过鼠标点击切换。有三种:
    • 不设置断点

    • 所有请求在断点处被暂停

    • 所有响应在断点处被暂停

  4. 显示当前共捕获了多少回话(如:300,表示共捕获了300个会话,如:10/300,表示当前选择10个会话,共捕获300个会话)。
  5. 第五区块,描述当前状态。

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


个人博客:微缺Blog,欢迎访问留言,共同提升。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Small-BUG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值