Fiddler抓包丨最常用功能实战演练

news2024/12/26 0:28:48

目录

一. 停止抓包

二. 清空会话窗

三. 过滤请求

只显示目标请求

只抓取目标端的请求

四. 解码

五. 设置断点

伪造客户端请求

伪造服务器响应

注意事项

六. 总结

 结语


 

通过上一篇文章Fiddler移动端抓包,我们知道了Fiddler抓包原理以及怎样进行移动端抓包,接下来介绍Fiddler中常用的功能。

Fiddler中常用的功能如下:

  • 停止抓包
  • 清空会话窗内容
  • 过滤请求
  • 解码
  • 设置断点

一. 停止抓包

二. 清空会话窗

方法一,工具栏工具:

方法二,命令行形式:

当然,命令行工具也还支持其他命令的输入,这里不做过多说明。

三. 过滤请求

打开Fiddler抓包时,会话窗口会显示很多的请求,但我们只需要抓取到目标请求数据,这时就可以设置过滤。

过滤可以分为两种方式:只显示目标请求,只抓取目标端的请求。区别在于,前者是抓取所有请求但只显示目标请求数目,后者是只抓取某个端的请求数据。

只显示目标请求

操作步骤如下:

如界面右侧下方所示,还可以勾选更多的条件进行过滤展示,这里不做过多说明,有兴趣的可以自行尝试。

只抓取目标端的请求

例如,我们只想对移动端抓包时,我们可以设置只抓取移动端的请求,进行如下设置:

四. 解码

在抓取某些请求的时候,会发现返回的内容中出现了乱码,如下图所示

这是HTML被压缩了的原因, 我们可以通过一下两种方式去解压缩。

方法一,点击Responsebody is encoded.Click to decode.,如下:

方法二,先选中工具栏中的Decode,再请求抓包,这样显示的请求结果便是解码后的结果。如下:

解码后结果如下图所示:

五. 设置断点

有时进行调试时,我们需要伪造客户端请求和服务器响应,那么这个时候就需要设置断点。

伪造客户端请求

伪造客户端请求,即在客户端点击请求后、正式向服务器发送请求之前,修改原来的请求参数再发送请求,这需要设置断点为Before Requests,步骤说明如下:

  1. 通过菜单选项或快捷键F11进行设置,如下图步骤,点击选择Before Requests

    经过第一步的设置,我们再次去抓包,会发现在左侧会话窗口中,所有请求都标记成了中断,请求未发送成功而是被Fiddler中断了,且此时客户端可以看到数据加载异常。

    会话窗口中找到对应的请求,点击选择,右侧选择Inspectors,会显示一行操作栏,点击Run to Completion便可继续发送被中断的请求。

    但我们的目的是断点后修改请求数据再发送请求。

  2. 找到对应的请求,修改请求数据

    以登录Testerhome为例,先将设置断点为Before Requests,在浏览器中输入正确的账号和密码,点击登录,然后在Fiddler中找到该请求,将密码清空,再点击Run to Completion继续发送请求,服务器会返回什么样的结果,下面我们来验证。

    可以看到,浏览器输入正确的账号密码应该是要登录成功的,但我们通过Fiddler打断点后,对该登录接口的请求参数做了修改之后再请求,返回错误:账号或密码错误,请重试。

伪造服务器响应

伪造服务器响应,即在响应返回给客户端之前,将响应内容修改再返回,这需要设置断点为After Responses。接下来还是以TestHome网站登录接口为例,修改它的响应内容。步骤如下:

  1. 先将断点规则设置为After Responses,如下:

  2. 正常登录后会跳转至TesterHome网站首页,但此时我们可以修改返回参数,让其登录后跳转至百度页面,设置如下:

    如上图所示,将图中返回参数改成百度地址 (TextView形式下可对返回参数进行修改),再点击Run to Completion,我们会看到登录成功后跳转到了百度页面,而不是TestHome首页。

注意事项

设置断点的功能应有如下注意:

  • Inspectors中,在请求参数显示窗口WebForms中可以修改请求参数,在响应参数显示窗口TextView中可以修改返回参数。

  • 通过菜单选项或快捷键F11进行断点设置,是全局有效的,即会对所有的HTTP请求都打上断点

  • 如果只需要对某个服务器发出的请求设置断点,可使用Fiddler的命令行工具输入命令,Before Requests命令为bpu 服务器地址After Response命令为bpafter 服务器地址,如下图所示:

  • 设置断点后,需要取消断点设置,需要将断点设置成Disabled,操作如下:

  • 也可使用快捷工具进行断点设置,如下图所示位置,点击切换即可:

六. 总结

Fiddler除了以上介绍的功能外,还有其他功能,如:

  • 限制网速,用于模拟弱网测试

  • 简单的接口测试

  • mock

  • 结合第三方插件实现更多功能

 结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

 fiddler教程获取方式:留言【fiddler抓包】即可免费拿

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544850.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虎牙直播在微服务改造的实践总结

博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战、定制、远程,博主也曾写过优秀论文,查重率极低,在这方面…

一文快速了解浏览器Sui Explorer

Sui作为一条基于第一原理重新设计和构建而成的L1公链,所有区块和交易信息皆公开透明,每个人都能自行查看。通过Sui链上浏览器,用户可以迅速了解链上的交易情况,比如当前的TPS和Gas价格,也可以使用Digest来查看特定交易…

工厂安灯呼叫系统解决方案

在选择安灯呼叫系统之前,需要先了解自己的需求。不同的工厂可能有不同的需求,例如生产线的规模、生产过程中可能会出现的问题等。因此,选择安灯呼叫系统之前,需要先考虑自己的需求,以便选择到最适合自己的系统。要从多…

三十九、分布式事务、seata、

1、事务 事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列SQL操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。 1.1 ACID事务的特点 原子性: 一致性:隔离性持久性 1.2 事务并发带来的问题 脏读 幻读 不可重复读 …

Mongodb Shell 常用操作命令

目录 一、启动与关闭mongodb服务 二、进入shell操作 三、常用shell命令 一、启动与关闭mongodb服务 启动:命令: ./mongod -config ../data/mongodb.conf 关闭命令: ./mongod -config ../data/mongodb.conf -shutdown 二、进入shell操作 命令:./mongo 三、常用shell命令 sh…

mysql查看实时执行的sql

MySQL默认不能实时查看执行的SQL语句,因为这会消耗一定的资源。 要开启这个功能,稍微配置一下,打开这个LOG记录就可以了。 查看开启情况 SHOW VARIABLES LIKE "general_log%";general_log值为OFF说明没有开启: 打开…

C++——内存管理+模块

作者:几冬雪来 时间:2023年5月19日 内容:C——内存管理模块 目录 前言: 1.new和delete操作自定义类型: operator new/delete: 定位new表达式(placement-new): …

横向对比 11 种算法,多伦多大学推出机器学习模型,加速长效注射剂新药研发

内容一览:长效注射剂是解决慢性病的有效药物之一,不过,该药物制剂的研发耗时、费力,颇具挑战。对此,多伦多大学研究人员开发了一个基于机器学习的模型,该模型能预测长效注射剂药物释放速率,从而…

软件物料清单:打开软件资产黑匣子的关键钥匙

大家有没有遇到过,手机被免费召回维修的情况? 有些人可能遇到这样的问题,手机购买一段时间后,突然收到手机品牌官方发布的通知:听筒模块上的某个组件可能会发生故障,会出现拨打或接听电话时听筒发不出声音的…

接口自动化【五】(HandleRequests类的封装,及postman上下接口依赖的初步认识)

文章目录 前言一、封装发送请求的操作二、迷惑的知识点三、postman的全局变量机制总结 前言 所有的封装就是一种思想,这种思想能不能想到,其实跟写代码建立思维有很大的关系。 下面也是我学到的一种思想,其中对每个函数有解读。以及易错点的…

算法小课堂(九)分支限界法

一、概述 1.1概念 分支限界法是一种求解最优化问题的算法,常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。其基本思想是把问题的可行解展开,再由各个分支寻找最佳解。 在分支限界法中,分支是使用广…

Go 语言核心编程-环境入门篇

第 1 章 Golang 开山篇 1.1 Golang 的学习方向 Go 语言,我们可以简单的写成 Golang 1.2 Golang 的应用领域 1.2.1区块链的应用开发 1.2.2后台的服务应用 1.2.3云计算/云服务后台应用 1.3 学习方法的介绍 1.4 讲课的方式的说明 努力做到通俗易懂注重 Go 语言体系&…

【软件测试项目】湖南交警一网通测试计划_2.0正版

目录 一、引言 1.1 编写目的 1.2 项目背景 1.3 适用范围 1.4 专业术语 二、测试任务 2.1 测试范围 2.2 测试目标 2.3 参考文档 2.4 提交文档(交付件) 三、测试进度 四、测试资源 4.1 人力资源 4.2 环境资源 4.3 测试工具 五、测试策略 5.1 功能测试 5.2 压力…

vue中 process.env与process.VUE_CLI_SERVICE

在vue中设置环境变量离不开process.env属性,那么如何设置自定义环境变更呢? 可以通过设置.env文件或者借助process.VUE_CLI_SERVICE来设置 process process 对象是一个 global (全局变量),提供有关信息,控…

基于差分进化算法的微电网调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Java经典笔试题—day12

Java经典笔试题—day12 🔎选择题🔎编程题🥝二进制插入🥝查找组成一个偶数最接近的两个素数 🔎结尾 🔎选择题 (1)以下方法,哪个不是对add方法的重载? public class Test {public void add( in…

智慧井盖监测终端,智能井盖-以科技解决智慧城市“顽疾”,守护城市生命线

平升电子智慧井盖监测终端,智能井盖-以科技解决智慧城市“顽疾”,守护城市生命线-智慧井盖,实现对井下设备和井盖状态的监测及预警,是各类智慧管网管理系统中不可或缺的重要设备,解决了井下监测环境潮湿易水淹、电力供应困难、通讯不畅等难题…

MySQL主从复制原理

一、概述 1、什么是主从复制 主从复制是用来建立一个和 主数据库完全一样的数据库环境称为从数据库;主数据库一般是准实时的业务数据库。 2、主从复制的作用 高可用,实时灾备,用于故障切换。比如主库挂了,可以切从库。读写分离…

nginx配置监听443端口,开启ssl协议,走 https 访问

本文目录 前言一、检查 linux 服务器上的 nginx 是否安装 ssl 模块二:为 nginx 安装 ssl 模块三、nginx 开启 443 端口监听(https配置)成功配好后的效果如下遇到的问题一:证书无效遇到的问题二:连公司的网络走 https 能…

飞书自建无需代码连接Flomo的方法

飞书自建用户使用场景: 公司的飞书群里,有一个名为“新产品开发”的群组,用于讨论公司新产品的开发。该群组中设置了一个机器人,名为“新产品助手”。当群组成员在讨论中需要记录一个新的产品想法时,他们可以这个机器人…