Fiddler抓包入门

一、简介

Fiddler 是一个强大的 HTTP/HTTPS 调试代理工具,可以帮助开发者监控和修改客户端与服务器之间的网络请求和响应。它广泛用于抓包、调试和分析 HTTP 请求。

Fiddler 支持多种操作系统,如 Windows、macOS 和 Linux(通过 Mono),并广泛应用于 Web 开发、移动应用调试以及安全测试等领域。


Fiddler的主要功能

  1. 捕获 HTTP/HTTPS 请求
    Fiddler 会充当 HTTP/HTTPS 请求的代理,能够捕获通过其代理服务器的所有流量。它能够显示 HTTP 请求头、响应头、请求体、响应体等详细信息。

  2. HTTPS 解密
    对于加密的 HTTPS 流量,Fiddler 提供了 SSL 解密功能。通过安装根证书,Fiddler 可以解密并查看 HTTPS 流量的内容,包括加密的请求和响应数据。

  3. 修改请求和响应
    Fiddler 允许用户修改 HTTP 请求和响应内容。用户可以编辑请求的头部信息、请求体、响应内容等,重新发送修改后的请求。这对于模拟不同的请求和测试服务器响应非常有用。

  4. 性能分析
    Fiddler 提供详细的性能报告,帮助开发者分析请求和响应的时间,发现潜在的性能瓶颈。它可以显示各个请求的延迟时间、大小、下载速度等信息。

  5. 脚本和自动化
    Fiddler 提供了一个强大的脚本引擎,允许用户使用 C# 编写脚本,自动化请求的发送、响应的修改以及其他调试任务。

  6. 会话保存和导出
    Fiddler 可以保存捕获的所有会话数据,并导出为 .saz 格式或 .har 格式,以便后续分析和共享。

  7. 模拟响应
    Fiddler 提供了 AutoResponder 功能,可以根据预定义的规则自动回应请求。开发者可以使用此功能模拟特定的服务器响应,进行测试和调试。

  8. 多平台支持
    虽然 Fiddler 是由 Telerik 开发并主要支持 Windows 系统,但也可以通过 Mono 在 macOS 和 Linux 上运行。对于开发者来说,Fiddler 提供了跨平台的支持,能够适应多种开发环境。


Fiddler 工作原理:

  1. 客户端发送请求: 当你在浏览器或其他应用程序(比如移动设备、API 客户端等)中发起 HTTP 或 HTTPS 请求时,客户端的请求通常会通过网络直接发送到目标服务器。

  2. 请求通过 Fiddler 代理:

    1. 为了捕获并调试这些请求,你需要在客户端配置 Fiddler 的代理地址和端口(默认是 localhost:8888)。这样,客户端会将请求首先发送到 Fiddler 代理服务器,而不是直接发送到目标服务器。
    2. 在浏览器或应用程序中设置代理时,所有的请求都会先发送到 Fiddler,而不是直接发送到目标服务器。
    3. Fiddler 作为中间代理服务器,接收到这些请求后,会对请求进行处理(如修改、记录、过滤等)然后将请求转发给目标服务器。
  3. Fiddler 代理转发请求:
    Fiddler 在收到请求后,会将请求转发到目标服务器。此时,Fiddler 就像一个“中介”或“隧道”,将客户端请求原封不动地转发给目标服务器。

  4. 服务器响应经过 Fiddler:
    目标服务器处理请求并返回响应,这时响应会经过 Fiddler。Fiddler 会接收到服务器的响应数据,你可以查看响应的内容,甚至对其进行修改(如果需要)。

  5. 响应传递给客户端:
    最后,Fiddler 会将服务器的响应数据返回给客户端。此时,客户端收到的响应是经过 Fiddler 代理转发的,但它通常不会感知到这一点。

在这里插入图片描述Fiddler 的核心工作原理是通过充当 代理服务器 来捕获和调试请求与响应。所有通过Fiddler 代理的请求会先经过 Fiddler,然后再到达目标服务器,响应也会从服务器经过 Fiddler 后返回给客户端。这样,Fiddler 就可以对这些流量进行拦截、修改和记录

二、下载安装

1、window直接一键安装即可

下载地址: https://www.telerik.com/download/fiddler

2、linux安装需要使用图形化界面,大部分服务器没有使用界面版的,这里不演示,建议使用tcpdump命令抓包


左下角 Capturing开启关闭抓包,默认开启,all processes可以用来筛选,51代表抓包的数量
在这里插入图片描述

2.1、配置支持https

1、tool --> options --> https 都勾上

在这里插入图片描述
2、点击actions,选择第二项,下载证书到桌面
3、以谷歌为例,点击谷歌设置,管理证书,导入
在这里插入图片描述
在这里插入图片描述4、导入成功后,重新打开fiddler,此时就可以抓包https了

在这里插入图片描述

三、抓包示例

3.1、请求抓包简单示例

1、先清除没有用的抓包
在这里插入图片描述
2、发送个请求,查询ip
在这里插入图片描述3、左侧抓包,图片标识的就是图片,我们的是第四个,可以看到请求参数和返回值
在这里插入图片描述

3.2、拦截请求

点击左下角此处会拦截请求,不向服务器发送请求
在这里插入图片描述
点击变成此图标是对应下方的before requests 在点击一次是after responses
在这里插入图片描述
在这里插入图片描述

或者更改
在这里插入图片描述再次请求,左侧是红色的箭头,就代表了请求被拦截。
在这里插入图片描述

3.3、更改请求参数

在这里插入图片描述

3.4、过滤出想要测试的域名网址

在这里插入图片描述

3.5、查看请求时间

在这里插入图片描述

3.6、移动端抓包简单示例

前提:手机和电脑在同个局域网

  1. 配置代理:tools -->options -->connections 都勾上

在这里插入图片描述

  1. 开启后访问本地ip:8888端口
    在这里插入图片描述
  2. 在手机上找到对应的WLAN网络,进行该网络代理的设置

操作步骤如下图所示:

手机系统设置–>WLAN–>修改网络–>高级选项–>代理–>选择手动–>主机名填入上一步IPv4–>端口填入默认的8888–>保存
在这里插入图片描述

  1. 手机安装证书

步骤如下:

1)在手机上选择任意浏览器,输入第二步中的设置的代理地址,host为即Fiddler安装电脑的IPv4地址,端口号即为默认的8888

2)手机端在1打开的网页中点击FiddlerRoot certificate下载证书

在这里插入图片描述

Android手机到这一步就可以了,苹果手机还需要在手机设置里去信任下载的证书,信任证书的操作步骤这里不做过多说明。

完成这两步后,我们即可以抓取手机发出的http请求,又可以抓取手机发出的https请求。在手机上打开今日头条APP,验证如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值