当前位置: 首页 > article >正文

Fiddler抓包工具最快入门

目录

前言

了解HTTP网络知识

简单了解网络访问过程

简单了解HTTP网络传输协议

工作过程

HTTP请求:

Fildder工具使用教程

抓包的概念

一、什么是抓包

二、为什么要抓包

三、抓包的原理(图解)

Fiddler工具

安装

使用

Fiddler查看发送和接收的数据包

Fiddler设置过滤----抓取指定服务器地址的数据

Fiddler抓取HTTPS


前言

了解HTTP网络知识

简单了解网络访问过程

1. 用户在浏览器上输入URL地址:www.baidu.com,按下回车

2. 浏览器以特定的方式把请求发送给服务器,请求百度页面的内容

3. 服务器根据请求信息,查找用户需要的数据内容

4. 服务器找到想要请求的数据后,将数据以特定方式返回给客户端

5. 客户端接受到数据后,把最终结果显示在浏览器中

核心:

请求---从客户端发送到服务器的请求信息

响应---从服务器返回给客户端的响应信息

简单了解HTTP网络传输协议

HTTP(Hyper Text Transfer Protocol): 全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议

协议: 为了使数据在网络上从源头到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议,它最终体现为在网络上传输的数据包的格式

工作过程
  1. 客户端发起请求:客户端(通常是浏览器)向服务器发送HTTP请求,请求中包含请求方法(例如GET、POST)、URL、HTTP版本号、请求头部等信息。

  2. 服务器处理请求:服务器接收到请求后,根据请求内容进行处理,可能是获取请求的资源、执行特定的操作等。服务器会生成HTTP响应并返回给客户端。

  3. 服务器返回响应:服务器返回的HTTP响应包含HTTP状态码、响应头部和响应体。状态码表示请求的处理结果(例如200表示成功,404表示未找到资源,500表示服务器内部错误等)。

  4. 客户端处理响应:客户端接收到服务器返回的HTTP响应后,根据响应内容进行处理,可能是显示页面内容、执行进一步操作等

HTTP请求:
  • 请求行
  • 请求头
  • 请求体

URL(网址)=协议://主机地址(IP地址或域名):端口号/路径?参数名=参数值&参数名=参数值

最常见的请求方法

POST:

  • POST请求参数放在请求体中(抓包才能看见)---相对安全
  • 消息体本身没有长度限制,因此POST请求可以传递任意数量的参数

例如:后台登陆,注册

GET:

  • GET请求参数放在URL里(在浏览器地址栏中可以直接看到)
  • URL本身有长度限制(每个浏览器不同),参数数量不能过多

例如:前台搜索框

两者都可以向服务器发送请求,并携带参数

请求参数:参数名=参数值;多个参数用&连接

HTTP响应

  • 响应行  (响应状态码)
  • 响应头
  • 响应体

响应状态码:

响应状态码是用数字表示的响应状态,最常见的有4种类型

2xx:表示成功 如200、202、204等

3xx:表示数据路径发生改变,需要重定向。如302,304等

4xx:表示客户端问题。如:404表示页面没找到,403表示访问数据被禁止

5xx:表示服务器错误。如500、503等

响应体:

响应体表示服务器返回给客户端的数据内容。常见的内容:HTML、JSON、TXT、图片等

实例:

Fildder工具使用教程

抓包的概念

一、什么是抓包

上文中我们可以了解到一次网络访问其实质就是客户端与服务器之间通过网络协议进行数据交互的过程,在这个过程中客户端向服务器发送请求和服务器响应客户端的请求,都是通过数据包来传递的。

抓包:就是将网络传输中客户端与服务器交互时发送与接收的数据包进行截获、重发、编辑、转存等操作,我们常借助相关工具进行抓包操作。

二、为什么要抓包

抓包的主要目的是获取网络传输中的原始数据。一旦获取了这些数据,可以进行多种操作:

  • 分析数据传输协议,理解数据如何在网络中传输。

  • 定位网络协议问题,识别和解决网络通信中的错误。

  • 提取数据包中的信息,获取传输过程中的重要数据。

  • 修改和重发数据包,对网络通信过程进行干预。

应用场景:

场景的三种应用场景:

1.定位前后端BUG

  • 抓不到请求,定位为前端问题
  • 如果有请求但是没响应,那就是后端问题
  • 如果有请求也有响应,需要查看响应信息,如果返回相关错误,则需根据错误信息具体分析

2.弱网测试

3.绕过界面限制直接测试服务器

具体可参照博文:什么是抓包-CSDN博客

三、抓包的原理(图解)

抓包工具通过在客户端与服务器之间设置代理服务器(Proxy)的方式,代理服务器充当客户端和服务器之间的中间桥梁。

对客户端来说,原本要发送给服务器的请求发送到代理服务器,代理服务器再将请求转发给服务器;对服务器来说,返回的响应也先到达代理服务器,然后由代理服务器转发给客户端。在这个过程中,代理服务器可以拦截、检查和记录经过它的所有数据包,从而实现抓包的功能。

过程:

  1. 客户端配置相关代理服务器工具
  2. 代理服务器获取客户端请求,进行数据记录和分析等相关操作
  3. 转发给目标服务器
  4. 代理服务器拦截服务器端响应,进行数据记录和分析等相关操作
  5. 转发给客户端

Fiddler工具

安装

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

使用

Fiddler查看发送和接收的数据包

当打开Fiddler工具后,Fiddler会自动为客户端配置代理服务器,通过打开电脑设置查看代理可发现Fiddler自动帮我们设置了一个端口8888的代理服务器(Proxy)

获取客户端请求和服务器相应数据包信息

请求报文区按钮说明:

Headers:显示客户端发送到服务器的 HTTP 请求的 header,显示为一个分级视图,包括 Cookie、设备信息
TextView:显示 POST 请求的 body 部分为文本
SyntaxView:为 Textview 的加强版,查看语法高亮的请求内容。加上了行数标识,鼠标右键的菜单中,相较Textview 多了一些功能,如 Json、XML 格式化,查找替换等
WebForms:显示请求的 GET 参数 和 POST body 内容。特别说明,这里 body 应该是 application/x-www-form-urlen-coded 格式
HEX:用十六进制数据显示请求
Auth:header 中的 Proxy-Authorization 和 Authorization 信息
Cookies:请求发送的 cookies 信息
Raw:将整个请求显示为纯文本
JSON:如果请求的 body 是 Json 格式,就是用分级的 Json 来显示它
XML:如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它

响应报文区按钮说明:

Transformer:显示响应的编码信息
Headers:显示响应的 header
TextView:使用文本显示相应的 body
SyntaxView:为 Textview 的加强版,查看语法高亮的请求内容。加上了行数标识,鼠标右键的菜单中,相较Textview 多了一些功能,如 Json、XML 格式化,查找替换等
ImageView:如果请求是图片资源,显示响应的图片。左侧灰色区域会显示图片的大小、宽高、文件格式等信息,在下方还可以选择缩放模式:Autoshrink(自动缩放)、Scale to fit(缩放以适应显示区域大小)、No Scaling(无缩放)
HexView:用十六进制数据显示响应
WebForms:响应在 Web 浏览器中的预览效果
Auth:显示响应 header 中的 Proxy-Authorization 和 Authorization 信息
Caching:显示此请求的缓存信息
Cookies:显示此请求的 cookies 信息,私密 P3P Header 信息
Raw:将整个响应显示为纯文本
JSON:如果响应的 body 是 Json 格式,就是用分级的 Json 来显示它
XML:如果响应的 body 是 XML 格式,就是用分级的 XML 树来显示它

Fiddler设置过滤----抓取指定服务器地址的数据

Hosts 第一个下拉选说明:局域网过滤:展示局域网内容

  • No Zone Filter:默认选项,不设置区域过滤器。
  • show only Intranet Hosts:只显示内网的Hosts,即过滤掉外网的Hosts。此时,只显示URL请求目标服务器在内网的请求。
  • show only internet Hosts:与上相对应,只显示外网的Hosts。

Hosts 第二个下拉选说明:广域网过滤:展示广域网内容

  • No Host Filter 不设置hosts过滤
  • Hide The Following Hosts 隐藏过滤到的域名
  • Show Only The Following Hosts 只显示过滤到的域名
  • Flag The Following Hosts 标记过滤到的域名

Request Headers :根据请求头信息进行过滤

  • Show only if URL contains:仅显示URL中包含指定字符串的请求,字符串可以是URL中的一部分,多个字符串用空格分开。
  • Hide if URL contains:仅隐藏URL中包含指定字符串的请求(字符串可以是URL中的一部分,多个用空格分开,可以是正则或完整的URL,同上)。
  • Flag requests with headers:标记带有特定header的请求,如果在web session列表中存在该请求,会加粗显示。
  • Delete request headers:删除请求中指定的Header字段。
  • Set request Header:在URL请求中添加头字段,与上一条对应。前面输入字段,后面输入值。

其余可查看博文:Fiddler工具 — Fiddler过滤器(Filters)详解_fiddler filter-CSDN博客

Fiddler抓取HTTPS

刚下载安装好后,是默认不支持抓取HTTPS协议的,要想抓取HTTPS,需要进行相关设置

Fiddler进行手机APP抓包

① 首先得保证手机和电脑在同一个局域网(连接着同一个 WIFI),先查看 Fiddler 所在电脑得 IP 地址,可以直接把鼠标悬停在工具栏中的 Online 查看

或者 Win + R 调出 windows 运行窗口 输入 cmd 再输入 ipconfig 查看 IP 地址

② 设置 Fiddler 允许远程连接,点击 Tools 选择 Options...,再选中 Connections,勾选 Allow remote computers to connect 允许远程计算机连接到 Fiddler。重启Fiddler。不重启的话,后面在手机端无法访问Fiddler服务

③ 接着就是为手机配置代理,打卡手机的 设置,找到 WLAN 配置,选择当前正连接的 WIFI,,点击查看 WIFI 的详细信息。点击 WIFI 的代理,选择 手动,然后设置代理的 IP 和端口。其中,IP 地址为 Fiddler 所在机器的 IP 地址,端口在 Fiddler 中配置的 8888,如下图

④ 最后为手机下载安全证书,使用手机浏览器访问 Fiddler 服务,根据上图可知,Fiddler 的端口为 8888(访问地址为 Fiddler 所属主机的 IP 地址加 Fiddler 端口),例如:192.168.1.3:8888。访问之后如下图: 

手机安装证书,打开下载好的证书,凭据用途选择 VPN和应用,给证书起个名字,确定之后安装完成

证书安装完成后,可以在 系统设置 中搜索 凭据(或者 CA 证书,不同手机会有点差别),打开 信任的凭据,找到刚刚安装的 Fiddler 证书。

以上就是开启手机 APP 抓包的全部设置了,可以打开一个 APP 进行验证。

注意:并不是所有的 APP 的包都能抓到,有些 APP 做了一些防抓包的处理也是很正常的

深入学习可参照:Fiddler 的使用(详细教程)_fiddler使用教程-CSDN博客

相关文章:

Fiddler抓包工具最快入门

目录 前言 了解HTTP网络知识 简单了解网络访问过程 简单了解HTTP网络传输协议 工作过程 HTTP请求: Fildder工具使用教程 抓包的概念 一、什么是抓包 二、为什么要抓包 三、抓包的原理(图解) Fiddler工具 安装 使用 Fiddler查看…...

编译器与中间表示:LLVM与GCC、G++、Clang的关系详解

编译器与中间表示:LLVM与GCC、G、Clang的关系详解 引言 编译器是软件开发中不可或缺的工具,它负责将高级语言(如C/C、Java等)转换为机器语言,使计算机能够理解和执行程序。中间表示(Intermediate Represe…...

《深度剖析:鸿蒙系统不同终端设备的UI自适应布局策略》

在万物互联的时代,鸿蒙系统以其独特的分布式理念和强大的技术架构,迅速在智能终端领域崭露头角。随着鸿蒙生态的不断壮大,越来越多的开发者投身其中,致力于为用户打造丰富多样的应用体验。然而,如何让应用在不同终端设…...

股指期货贴水波动,影响哪些投资策略?

先来说说“贴水”。简单来说,贴水就是股指期货的价格比现货价格低。比如,沪深300指数现在是4000点,但股指期货合约的价格只有3950点,这就叫贴水。贴水的大小会影响很多投资策略的收益,接下来我们就来看看具体的影响。 …...

1.1 结构体与类对象在List中使用区别

一、问题的起源如下的代码是错误的&#xff0c;无法编译通过 struct Point {public int X;public int Y; }List<Point> points new List<Point> { new Point { X 1, Y 2 } }; points[0].X 10; // 编译错误&#xff01;无法修改副本的字段 二、原因分析 在C#中&…...

matlab近似计算联合密度分布

在 Matlab 中&#xff0c;当A和B是两个序列数据时&#xff0c;可以通过以下步骤来近似求出A大于B的概率分布&#xff1a;数据准备&#xff1a;确保序列A和B具有相同的长度。如果长度不同&#xff0c;需要进行相应的处理&#xff08;例如截取或插值&#xff09;。计算A大于B的逻…...

基于WebAssembly的浏览器密码套件

目录 一、前言二、WebAssembly与浏览器密码套件2.1 WebAssembly技术概述2.2 浏览器密码套件的需求三、系统设计思路与架构3.1 核心模块3.2 系统整体架构图四、核心数学公式与算法证明4.1 AES-GCM加解密公式4.2 SHA-256哈希函数五、异步任务调度与GPU加速设计5.1 异步任务调度5.…...

RHCE 使用nginx搭建网站

一。准备工作 Windows dns映射 创建目录网页 vim 编辑内容 添加如下 重启nginx服务&#xff0c;在Windows浏览器进行测试...

pcap流量包分析

先说一个阿里云学生无门槛免费领一年2核4g服务器的方法&#xff1a; 阿里云服务器学生无门槛免费领一年2核4g_阿里云学生认证免费服务器-CSDN博客 PCAP文件是一种网络数据包捕获文件格式&#xff0c;通常被用来捕获和存储网络流量数据。对PCAP文件进行分析可以帮助识别网络中的…...

OpenCV专利收费免费模块介绍

一、核心模块&#xff08;免费&#xff0c;商业 / 非商业均可使用&#xff09; ML 模块&#xff08;机器学习&#xff09; 功能&#xff1a;支持向量机&#xff08;SVM&#xff09;、K 均值聚类、神经网络&#xff08;ANN&#xff09;等。收费状态&#xff1a;免费。属于 OpenC…...

AtCoder Beginner Contest 398(ABCDEF)

A - Doors in the Center 翻译&#xff1a; 找到一个满足下面情况长为N的字符串&#xff1a; 每个字符是 - 或 。是一个回文。包含一个或两个 。如果包含两个相邻的 。 如此字符串为独一无二的。 思路&#xff1a; 从两端使用 开始构造回文。在特判下中间部分&#xff0c;…...

单表达式倒计时工具:datetime的极度优雅(智普清言)

一个简单表达式&#xff0c;也可以优雅自成工具。 笔记模板由python脚本于2025-03-22 20:25:49创建&#xff0c;本篇笔记适合任意喜欢学习的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值&#xff1a;在于输出思考与经验&#xff0c;而不仅仅是知识的简单复述。 Pyth…...

【2025 深圳大学-腾讯云程序设计竞赛(热身赛)】题解

比赛链接 A. Cloud Studio的共享连接 题目大意 && Solution 给定 T T T 组长度均为 12 12 12 的字符串 s s s。 对每个 s s s&#xff0c;将其按从左到右的顺序两两分组形成 6 6 6 个 A S C I I \rm{ASCII} ASCII 码&#xff0c;对这 6 6 6 个 A S C I I \…...

C语言基础与进阶学习指南(附运行效果图及术语解析)

C语言基础与进阶学习指南&#xff08;附运行效果图及术语解析&#xff09; 目录 C语言标准与编译流程CPU与内存基础C语言基础语法数据类型详解变量与内存管理运算符与表达式输入输出函数函数与内存管理指针与内存操作结构体与高级应用 1. C语言标准与编译流程 1.1 C语言标准演…...

2025年3月GESP八级真题解析

第一题——上学 题目描述 C 城可以视为由 n n n 个结点与 m m m 条边组成的无向图。这些结点依次以 1 , 2 , … , n 1,2,…,n 1,2,…,n 标号&#xff0c;边依次以 1 , 2 , … , m 1,2,…,m 1,2,…,m 标号。第 i i i 条边&#xff08; 1 ≤ i ≤ m 1≤i≤m 1≤i≤m&#…...

C++继承机制:从基础到避坑详细解说

目录 1.继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.1定义格式 1.2.2继承关系和访问限定符 1.2.3继承基类成员访问方式的变化 总结&#xff1a; 2.基类和派生类对象赋值转换 3.继承中的作用域 4.派生类的默认成员函数 ​编辑 默认构造与传参构造 拷贝构造&am…...

NVMe(Non-Volatile Memory Express)详解

一、NVMe的定义与核心特性 NVMe&#xff08;非易失性内存主机控制器接口规范&#xff09;是一种 基于PCIe总线的高性能存储协议&#xff0c;专为固态硬盘&#xff08;SSD&#xff09;设计&#xff0c;旨在替代传统的AHCI协议&#xff08;如SATA&#xff09;。其核心特性包括&a…...

MySQL数据库精研之旅第二期:库操作的深度探索

专栏&#xff1a;MySQL数据库成长记 个人主页&#xff1a;手握风云 目录 一、查看数据库 二、创建数据库 2.1. 语法 2.2. 示例 三、字符集编码和校验(排序)规则 3.1. 查看数据库支持的字符集编码 3.2. 查看数据库支持的排序规则 3.3. 不同的字串集与排序规则对数据库的…...

git_version_control_proper_practice

git_version_control_proper_practice version control&#xff0c;版本控制的方法之一就是打tag 因为多人协作的项目团队&#xff0c;commit很多&#xff0c;所以需要给重要的commit打tag&#xff0c;方便checkout&#xff0c;检出这个tag 参考行业的实践方式。如图git、linux…...

从单任务到多任务:进程与线程如何实现并发?

文章目录 1. 什么是进程定义进程的构成进程的状态进程与线程的关系进程的创建与销毁进程调度进程间通信&#xff08;IPC&#xff09;总结 2. 什么是线程&#xff1f;定义线程与进程的关系线程的特点线程的优点线程的类型线程的创建与销毁线程间通信总结 3. 进程与线程有什么区别…...

计算机组成原理和计算机网络常见单位分类及换算

计算机组成原理&#xff08;主要用于存储、内存、缓存等&#xff09; 计算机网络&#xff08;主要用于传输速率&#xff09; 直观对比...

【第二十八周】:Temporal Segment Networks:用于视频动作识别的时间分段网络

TSN 摘要Abstract文章信息引言方法时间分段采样分段聚合输入模态聚合函数多尺度时序窗口集成&#xff08;M-TWI&#xff09;训练 代码实现实验结果总结 摘要 本篇博客介绍了时间分段网络&#xff08;Temporal Segment Network, TSN&#xff09;&#xff0c;这是一种针对视频动…...

为WordPress自定义一个留言板

要在WordPress中创建一个留言反馈表单&#xff0c;并实现后台管理功能&#xff0c;您可以按照以下步骤进行操作&#xff1a; 1. 创建留言反馈表单 首先&#xff0c;您需要使用一个表单插件来创建表单。推荐使用 Contact Form 7 或 WPForms。以下是使用 Contact Form 7 的示例…...

扩展域并查集

什么叫扩展域并查集 1 和 2是敌人&#xff0c;那么就把1好12链接起来&#xff1a;表示1和2是敌人 2和11链接起来也是这个道理 然后2 和3使敌人同理。 最后12连接了1 和 3&#xff0c;表名1 和 3 是 2 的敌人&#xff0c;1和3 就是朋友 1.P1892 [BalticOI 2003] 团伙 - 洛谷 #in…...

【C#语言】C#同步与异步编程深度解析:让程序学会“一心多用“

文章目录 ⭐前言⭐一、同步编程&#xff1a;单线程的线性世界&#x1f31f;1、寻找合适的对象✨1) &#x1f31f;7、设计应支持变化 ⭐二、异步编程&#xff1a;多任务的协奏曲⭐三、async/await工作原理揭秘⭐四、最佳实践与性能陷阱⭐五、异步编程适用场景⭐六、性能对比实测…...

动态规划入门详解

动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;是一种算法思想&#xff0c;它将问题分解为更小的子问题&#xff0c;然后将子问题的解存起来&#xff0c;避免重复计算。 所以动态规划中每一个状态都是由上一个状态推导出来的&#xff0c;这一点就区别…...

SOFABoot-09-模块隔离

前言 大家好&#xff0c;我是老马。 sofastack 其实出来很久了&#xff0c;第一次应该是在 2022 年左右开始关注&#xff0c;但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFABoot-00-sofaboot 概览 SOFABoot-01-蚂蚁金服开源的 s…...

电池电量检测方法介绍,开路电压法、库仑积分法、内阻法

开路电压法、库仑积分法、内阻法、卡尔曼滤波法、混合法 开路电压法是目前最简单的方法&#xff0c;根据电池的特性得知&#xff0c;在电池容量与开路电压之间存在一定的函数关系&#xff0c;当得知开路电压时&#xff0c;可以初步估算电池的剩余电量。该方法精度不高&#xf…...

基于基于eFish-SBC-RK3576工控板的智慧城市边缘网关

此方案充分挖掘eFish-SBC-RK3576的硬件潜力&#xff0c;可快速复制到智慧园区、交通枢纽等场景。 方案亮点 ‌接口高密度‌&#xff1a;单板集成5GWiFi多路工业接口&#xff0c;减少扩展复杂度。‌AIoT融合‌&#xff1a;边缘端完成传感器数据聚合与AI推理&#xff0c;降低云端…...

CSS基础知识一览

持续维护 选择器 display 常用属性 浮动 弹性布局...