Fiddler原理介绍及详细使用方法

本文围绕Fiddler抓包工具展开,介绍其是位于客户端和服务器端的HTTP代理,常用作web调试。阐述了B/S架构、Fiddler原理、HTTP与HTTPS请求及响应报文结构。还详细说明了Fiddler的安装、各功能模块使用,如会话列表、自动响应器等,以及弱网测试和HTTPS抓包方法。

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

一、Fiddler简介

  • Fiddler是位于客户端和服务器端的HTTP代理
  • 目前最常用的http抓包工具之一
  • 功能非常强大,是web调试的利器
    • 监控浏览器所有的HTTP/HTTPS流量
    • 查看、分析请求内容细节
    • 伪造客户端请求和服务器响应
    • 测试网站的性能
    • 解密HTTPS的web会话
    • 全局、局部断点功能
    • 第三方插件
  • 使用场景
    • 接口调试,接口测试,线上环境调试,web性能分析
    • 判断前后端bug、开发环境hosts配置、mock、弱网断网测试

二、B/S架构

  • 编写程序部署到web服务器
  • web服务器运行在服务器上,绑定id地址并监听某端口,接收和处理http请求
  • 客户端通过http请求协议获取服务器上的网页、文档等资源
    在这里插入图片描述

http://test.lemonban.com/ningmengban/images/logo.png
http://:协议
test.lemonban.com:域名–》主机:193.112.13.232

三、Fiddler原理

在这里插入图片描述
Fiddler会设置一个系统代理,当我们打开Fiddler后,会自动在浏览器中设置代理(如果是火狐浏览器,可能需要配置一下)。

四、HTTP与HTTPS

4.1、请求报文

  • Hyper Text Transfer Protocol(超文本传输协议)
  • 用于从万维网服务器传输超文本到本地浏览器的传送协议
  • HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端数据传输格式,最初是用来向客户端传输HTML页面的内容,默认端口是80.
  • http是基于请求与响应模式的、无状态的、应用层的协议。

在这里插入图片描述
HTTP请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4部分组成
在这里插入图片描述
Get请求没有请求体
在这里插入图片描述

4.1.1、请求行

分为三部分:请求方式 同一资源定位符 HTT协议及版本号

请求方法:在这里插入图片描述
请求行

Uniform Resource Locator : 同一资源定位符

  • 用于描述网上的资源

格式: schema://host[:port#]/path/.../[?query-string]

  • scheme:协议:如http,https,ftp等
  • host:域名或者IP地址
  • port:端口
  • path:资源路径
  • query-string:发送的参数

如:https://www.baidu.com/s?wd=柠檬班

4.1.2、请求头部

在这里插入图片描述

4.1.3、空一行
4.1.4、请求体

4.2、响应报文

HTTP响应报文主要由状态行、消息包头、空一行、响应正文4部分组成
在这里插入图片描述
在这里插入图片描述
响应体不是一定存在的,但一般都会有。

4.2.1、响应行(状态行)

三部分:HTTP协议及版本 状态码 原因描述

状态码

  • 用以表示网页服务器HTTP响应状态的3位数字代码
    在这里插入图片描述
4.2.2、响应头(消息报头)

在这里插入图片描述

4.2.3、空一行
4.2.4、响应体(响应正文)

五、Fiddler安装及软件介绍

5.1、安装

1、双击安装
在这里插入图片描述
2、同意协议
在这里插入图片描述
3、选择路径
在这里插入图片描述
4、安装完成
在这里插入图片描述

5.2、菜单栏及工具栏介绍

在这里插入图片描述

修改端口号:
在这里插入图片描述

加一个注释:
在这里插入图片描述
保存导出:
在这里插入图片描述
重放(重复请求攻击,按R键可以重放一次,按住shift+R可以设置重放多上次):
在这里插入图片描述
删除:Delete
删除除了选中的:shift + Delete
删除所有:ctrl + x

断点调试:
在这里插入图片描述

解码:
在这里插入图片描述

保存会话数量,会话会占用数量,一般不会去点:
在这里插入图片描述

选择你要监听的程序:
在这里插入图片描述

查找(Ctrl + f):
在这里插入图片描述

截图:
在这里插入图片描述
清除IE缓存:
在这里插入图片描述
文本的编码解码:
在这里插入图片描述

这里可以看到我们的主机ip:
在这里插入图片描述

5.3、会话列表(Session List)

  • Fiddler抓取到每条http请求(每一条称为一个session)
  • 主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息,自定义备注等信息。

在这里插入图片描述
在这里插入图片描述
增加ip列:

运行fiddler,菜单,Rules->Customize Rules,打开“Fiddler ScriptEditor”

Ctrl+F查找“static function Main()”字符串,然后添加以下代码:

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

修改完成后退出保存
在这里插入图片描述
ip成功展示
在这里插入图片描述

5.4、命令行及状态栏

快速执行命令:
在这里插入图片描述
打一个help可以直接进入官网

官方帮助文档:https://docs.telerik.com/fiddler/knowledgebase/quickexec

是否让fiddler做系统代理,出现此标志,则是让:
在这里插入图片描述

选择线程:
在这里插入图片描述
断点调试:
在这里插入图片描述
点击一次,请求前的断电(没有发到服务器上):
在这里插入图片描述
点击两次,响应后的断点,所有请求返回停到fiddler这里,还没有发送给客户端,我们可以点go可以让他发送到客户端:
在这里插入图片描述

5.5、Statistics(统计)

  • HTTP请求的性能和其他数据分析,如DNS解析的时间,建立TCP/IP连接的时间消耗等信息

在这里插入图片描述

5.6、Inspectors(检查器)

  • Inspectors意思是检查器
  • 可以多种方式查看请求的请求报文和响应报文相关信息

在这里插入图片描述

5.7、AutoResponder(自动响应器)

  • AutoRsponder可用于拦截某一请求,进行如下操作:
    • 重定向到本地的资源
    • 使用Fiddler的内置响应
    • 自定义响应

在这里插入图片描述
我们也可以通过修改响应体来进行测试,比如正常返回一个集合渲染页面,我们可以假设让集合为空进行测试。

在这里插入图片描述

5.8、Composer(设计器 )

  • 简单的接口测试工具

在这里插入图片描述

5.9、Filters(过滤器)


如果在抓包的时候发现自己老是抓不到包,可以检查一下是不是自己过滤器的问题。

5.10、断点

在这里插入图片描述
全局断点:

请求前断点:还未发到服务器,可以修改请求参数。

响应后断电:已经从服务器返回过来,还没有回馈个客户端,也可以进行篡改数据

局部断点:

通过命令进行断点

请求前断点:bpu

bpu login // 给url包含login的进行断点

再次输入bpu回车,取消断点

响应后的断断点:bpafeter

bpafeter login 

5.11、弱网测试

在这里插入图片描述
我们也可以自己修改延迟时间
在这里插入图片描述
ctrl+f搜索m_SimulateModem
在这里插入图片描述
修改之后重启fiddler,重启后要选中开启它
在这里插入图片描述

5.12、HTTPS抓包

  • 点击Tools > Options > Https
  • 勾选Decrypt HTTPS Traffic

在这里插入图片描述
如果选中了之后抓取不到,重置他的证书
在这里插入图片描述
在这里插入图片描述
删除之后,重新选中
在这里插入图片描述
安装证书
在这里插入图片描述
打开它查看证书是否下载完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
学习链接:https://www.bilibili.com/video/BV1c4411c7zH?from=search&seid=2112288711213406917

03-16
<think>好的,我需要回答用户关于Fiddler工具的使用说明和功能介绍。首先,我需要整理用户提供的引用内容,这些引用提到了Fiddler抓包功能、界面设置、User-Agent选项以及基本操作流程。接下来,我要按照用户的要求,结构清晰地分点说明,确保使用中文,并且正确应用行内数学表达式和独立公式,不过在这个主题下可能数学内容较少,但如果有涉及数据或代码的地方需要注意格式。 首先,根据引用[1],Fiddler的主要功能是抓取在线页面保存到本地调试,这对开发调试很有帮助。然后引用[2]提到Options窗口中的设置项,包括HTTP/HTTPS抓取、证书和代理端口配置。引用[3]说明了User-Agent的作用和设置方法,而引用[4]则介绍抓包的操作流程和模拟请求的功能。 需要将这些信息组织成几个主要部分,比如核心功能、界面设置、User-Agent管理和基本操作步骤。同时,用户可能还关心如何开始使用Fiddler进行抓包,所以需要包含基本使用步骤。此外,要生成相关问题,如应用场景、HTTPS配置方法、User-Agent模拟以及数据篡改方法等。 在回答过程中,要确保每个引用都正确标注来源,如[^1]、[^2]等。最后检查是否符合LaTeX格式要求,虽然这个主题可能较少涉及数学公式,但如果有示例代码或路径表达式,需要用正确的格式呈现。 现在,整理这些信息,分点说明,确保结构清晰,语言简洁,同时自然插入引用标识。最后生成相关问题,帮助用户进一步探索。</think>### Fiddler网络调试工具使用说明及功能介绍 #### 一、核心功能 1. **抓包与分析** Fiddler能够捕获HTTP/HTTPS请求和响应数据,支持实时查看请求头、响应内容、状态码等信息。通过抓包可检查接口地址、参数和返回数据的正确性[^4]。 **典型应用场景**:调试网页加载问题、分析API调用流程、排查网络错误。 2. **本地调试与数据篡改** 支持将在线页面保存到本地修改后调试,并允许拦截请求/响应数据并修改内容(如修改JSON返回值或请求参数)[^1]。 ```python # 示例:模拟篡改响应数据(伪代码) Fiddler.AutoResponder.AddRule("example.com/api/data", "local_data.json") ``` 3. **性能分析** 提供时间轴视图和统计图表,可分析请求耗时、资源加载顺序等,例如:$$T_{\text{total}} = \sum_{i=1}^{n} T_{\text{request}_i}$$[^4]。 --- #### 二、界面与设置 1. **Options配置** - **HTTPS抓包**:需在`Tools > Options > HTTPS`中勾选`Decrypt HTTPS traffic`并安装证书[^2]。 - **代理端口**:默认使用`8888`端口,支持自定义以解决端口冲突问题。 2. **User-Agent管理** 通过`Rules > User-Agents`可快速切换浏览器或设备的UA标识,模拟移动端访问环境[^3]。例如: `User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1` --- #### 三、基本使用步骤 1. **启动抓包** - 打开Fiddler,确保代理已启用(菜单栏显示`Capturing`)。 - 访问目标网页或APP,请求列表将实时更新。 2. **过滤请求** 在右侧`Filters`标签中设置域名或进程过滤,例如仅显示`*.example.com`的请求。 3. **分析数据** 双击请求查看详细信息: - **Inspectors**标签解析请求头和响应体(如JSON/HTML格式)。 - **Timeline**视图展示资源加载瀑布图。 --- #### 四、高级功能 1. **自定义脚本扩展** 支持通过`FiddlerScript`(基于JScript.NET)修改请求逻辑,例如自动添加鉴权参数。 2. **接口压力测试** 使用`Composer`标签手动构造请求并批量发送,验证接口稳定性。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值