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

Fiddler报文分析-断点应用、模拟网络限速-HTTPS的 拦截

目录

一、报文分析

Statistics 请求性能数据

检查器(Inspectors)

自定义响应(AutoResponder)

Composer

Composer的功能就是用来创建HTTP Request然后发送请求。 允许自定义请求发送到服务器,即可以手动创建一个新的请求,也可在会话表中拖拽一个现有的请求。可以作为简单的接口测试功能。

Filter过滤器 

过滤器,可以帮助我们过滤出需要监控的请求。比较常用。

主机过滤

进程过滤

请求头过滤

断点过滤

Response Status Code过滤

响应类型及响应大小过滤

响应头过滤

二、断点应用

全局断点

断点命令列表

三、模拟网络限速

为什么需要弱网测试

弱网情况下容易出现的问题

Fiddler弱网测试配置

 四、HTTPS的拦截

HTTPS基础

Fiddler中配置HTTPS


一、报文分析

Statistics 请求性能数据

分析数据注解:

Request Count:   1#请求数, 该session总共发的请求数Bytes Sent:      580		(headers:580; body:0)#发送的字节数Bytes Received:  2,215		(headers:385; body:1,830)#接受到响应的字节数
ACTUAL PERFORMANCE# 实际度量的指标数据--------------
ClientConnected:	23:22:29.356#客户端连接时间ClientBeginRequest:	23:22:29.771#客户端发送请求的时间GotRequestHeaders:	23:22:29.771#获取请求头文件的时间ClientDoneRequest:	23:22:29.771#客户端完成请求的时间Determine Gateway:	0ms#确定网关使用的时间DNS Lookup: 		0ms#查找DNS使用的时间TCP/IP Connect:	0ms#TCP链接使用的时间HTTPS Handshake:	0ms#HTTPS握手使用的时间ServerConnected:	23:22:29.415#服务器连接发生的时间FiddlerBeginRequest:	23:22:29.771#Fiddler开始请求的时间ServerGotRequest:	23:22:29.771#服务器得到请求的时间ServerBeginResponse:	23:22:30.030#服务器开始响应的时间GotResponseHeaders:	23:22:30.030#获得响应头的时间ServerDoneResponse:	23:22:30.030#服务器完成响应的时间ClientBeginResponse:	23:22:30.030#客户端开始响应时间ClientDoneResponse:	23:22:30.030#客户端完成响应时间
	Overall Elapsed:	0:00:00.258#花费的总时间
RESPONSE BYTES (by Content-Type)#响应字数统计--------------
image/jpeg: 1,830#图片数据共1830字节 ~headers~: 385#响应头385字节

ESTIMATED WORLDWIDE PERFORMANCE#全球性能估计数据--------------
The following are VERY rough estimates of download times when hitting servers based in Seattle.
#下面数据是基于西雅图服务器下载时间粗略估计数据
US West Coast (Modem - 6KB/sec)#美国西海岸  modem调制解调	RTT:		0.10s
	Elapsed:	0.10s

Japan / Northern Europe (Modem)#日本/北欧	RTT:		0.15s
	Elapsed:	0.15s

China (Modem)# 中国	RTT:		0.45s
	Elapsed:	0.45s

US West Coast (DSL - 30KB/sec)#电话线或双绞线上网方式	RTT:		0.10s
	Elapsed:	0.10s

Japan / Northern Europe (DSL)
	RTT:		0.15s
	Elapsed:	0.15s

China (DSL)
	RTT:		0.45s
	Elapsed:	0.45s

检查器(Inspectors)

自定义响应(AutoResponder)

可以在拦截请求之后,重定向到本地资源,或使用Fiddler内置响应,还可以自定义响应。

Composer

Composer的功能就是用来创建HTTP Request然后发送请求。 允许自定义请求发送到服务器,即可以手动创建一个新的请求,也可在会话表中拖拽一个现有的请求。可以作为简单的接口测试功能。

Filter过滤器 

过滤器,可以帮助我们过滤出需要监控的请求。比较常用。

  1. 主机过滤

  • show only intranet Hosts 只显示局域网请求
  • Show only Internet Host 只显示广域网请求

  • Hide the following Hosts 隐藏符合条件的主机,条件在下面的文本框中定义
  • Show only the following Hosts 仅显示符合条件的主机
  • Flag the following Hosts 标记符合条件的主机
  1. 进程过滤

  • Show only traffic from 只过滤选择的进程的HTTP数据包
  • Show only Internet Explorer traffic 只过滤IE浏览器HTTP数据包
  1. 请求头过滤

  • Show only if URL contains 只过滤URL中包含指定内容的请求
  • Hide if URL contains 隐藏URL中包含指定内容的请求
  • Flag request with headers 标记出保证指定head的请求
  • Delete request header 删除指定的请求头
  • Set request header 设置请求头,可以在测试接口时,在每个请求中设置一个定义的Header
  1. 断点过滤

  • Break request on HTTP POST:给所有POST请求设置断点
  • Break request on HTTP GET with QueryString:给所有带参数的GET请求设置断点
  • Break response on Content-Type:给特定的Content-Type设定断点
  1. Response Status Code过滤

  • Hide success(202,204,206):隐藏响应成功的session(202,204,206);
  • Hide Authentication demands(401):隐藏未经授权被拒绝的session(401);
  • Hide redirects(300,301,302,303,307):隐藏重定向的session(300,301,302,303,307)
  • Hide Not Modified(304):隐藏无变更的session(304)
  1. 响应类型及响应大小过滤

  • Show all Content-Type:显示所有响应类型 

  • Hide smaller than ?KB:隐藏小于指定大小的session
  • Hide larger than ?KB:隐藏大于指定大小的session

  • Time HeatMap:获得即时数据(绿色阴影代表响应时间在50毫秒以内;超过50毫秒但在300毫秒之内的响应条目没有颜色;响应时间在300至500毫秒之间的会涂以黄色;超过500毫秒的用红色底纹显示)

  • Block script files:阻止脚本文件,显示为404
  • Block image files:阻止图片文件
  • Block SWF files:阻止SWF文件
  • Block CSS files:阻止CSS文件
  1. 响应头过滤

  • Flag response that set cookies:标记会设置cookie的响应
  • Flag response with headers:标记带有特定header的响应
  • Delete response headers:删除响应header
  • Set response header:设置响应的header

增加过滤的快捷方法

二、断点应用

通过断点功能,可以在测试时方便的篡改request,response以达到测试的目的,如果:在请求头中的参数修改成错误的,或在响应返回前将响应体中的数据修复为特殊的格式查看前端的反应;断点还可以模拟断网等情况,来测试在断网的特殊情况下前端的反应。

断点的类型:

  • 全局断点
  • 特定请求的断点

断点的设置方法

  1. 全局断点:

  • Before Requests 请求前断点,可以用户篡改请求头,或请求参数
  • After Responses 响应后断点,可以篡改响应头,或响应回来的数据
  1. 特定请求的断点
  • bpu ZKing 卓京集团 针对指定的url设置请求前断点,也可以使用部分url
  • bpafter ZKing 卓京集团 针对特定url设置响应后断点
  1. 断点命令列表

命令

作用

示例

bpu

请求前中断

bpu oa.veryedu.cn

bpafter

响应后中断

bpafter oa.veryedu.cn

bps

bps后面跟状态码,表示中断所有是这个状态码的请求

bps 200

bpm

中断http方法的命令

bpm get

go

放行所有中断下来的请求

三、模拟网络限速

为什么需要弱网测试

弱网测试的目的就是尽可能保证用户体验。 弱网测试的关键点有哪些:

  • 页面响应时间是否可以接受
  • 超时情况下的系统提示处理是否符合定义,异常信息是否显示正常
  • 大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作

弱网情况下容易出现的问题:

  • 丢包。丢包应该是最常见的问题。在TCP协议中,需要不停的发送请求,来确认连接状态,一旦发生丢包,就需要重传。这个时候就需要去检查产品的处理机制,给予什么提示,如果未响应怎么处理这些。
  • 延时。延时也是很常见的问题。由于网络太差,产生了网络波动,导致数据包在传输的时候出现抖动。可能导致请求出现超时的现象。这个时候就需要给予相应的提示,或者是其他的处理方式。

 

Fiddler弱网测试配置

  1. 开启网络限速模式

开启该功能可以模拟网络被限速后系统的运行情况。

  1. 根据需要来定义网络限速参数

Rules --> Customize Rules

if (m_SimulateModem) {
      // Delay sends by 300ms per KB uploaded.
	  // 该参数代表每KB的数据被上传时会被延时多少毫秒      oSession["request-trickle-delay"] = "300"; 
      // Delay receives by 150ms per KB downloaded.
      // 该参数对应下载时每KB的数据会被延时多少毫秒      oSession["response-trickle-delay"] = "150"; 
}

 四、HTTPS的拦截

HTTPS基础

根据HTTPS请求处理流程图,解释HTTPS的基本原理。

HTTPS是为了基于HTTP协议的通讯安全而诞生的,是HTTP + TLS/SSL 的组合体。 下面是HTTPS请求的基本过程:

 

Fiddler中配置HTTPS

点击 Options

勾选 Decrypt HTTPS traffic

 

安装证书

 

  

 

 安装成功后,在系统的证书管理器中应该可以查看到:

截获HTTPS请求: 

思考: HTTPS可以被代理解密,为什么安全铜须还需要HTTPS?

评论区等你的解答😏 

 

 

 

 

 

相关文章:

Fiddler报文分析-断点应用、模拟网络限速-HTTPS的 拦截

目录 一、报文分析 Statistics 请求性能数据 检查器(Inspectors) 自定义响应(AutoResponder) Composer Composer的功能就是用来创建HTTP Request然后发送请求。 允许自定义请求发送到服务器,即可以手动创建一个新…...

PHP基础(3)

PHP基础表单提交文件处理PHP连接数据库异常抛出表单提交 PHP通过全局变量 $_GET和 $_POST来收集表单数据。 接下来改用post方式进行提交,再次查看是否隐藏了提交的内容: 发现提交的信息已经不在链接之中进行显示了。 GET与POST区别在于一个会在连接…...

跳槽进字节跳动了,面试真的很简单

前言: 最近金三银四跳槽季,相信很多小伙伴都在面试找工作, 怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习 如何拿下阿里等大厂的offer的呢,今天分享一个秘密武器,资深测试工程师整理的…...

【SpringBoot9】HandlerInterceptor拦截器的使用 ——防重复提交

看本篇博客前应当先看完前面三篇,这一篇是基于前面三篇的知识点的整合。所以很多重复的代码这里就不写出了 后台通过拦截器和redis实现防重复提交,避免因为网络原因导致多次请求同时进入业务系统,导致数据错乱,也可以防止对外暴露…...

内网渗透(五十八)之域控安全和跨域攻击-约束性委派攻击

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...

Linux僵尸进程理解作业详解

1 下面有关孤儿进程和僵尸进程的描述,说法错误的是? A.孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。 B.僵尸进程:一个进程使用fork创建子进程,如果…...

每日一题——L1-078 吉老师的回归(15)

L1-078 吉老师的回归 曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦! 为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的、只包括可打印符号的字符串描述出来,如:Problem A: Print "Hello world!&qu…...

ESP32设备驱动-DS1264数字温度传感器驱动

DS1264数字温度传感器驱动 1、DS1264介绍 DS1624 由两个独立的功能单元组成:一个 256 字节非易失性 E2 存储器和一个直接数字温度传感器。 非易失性存储器由 256 字节的 E2 存储器组成。 该存储器可用于存储用户希望的任何类型的信息。 这些内存位置通过 2 线串行总线访问。…...

8000+字,就说一个字Volatile

简介 volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级&…...

MySQL的函数

Java知识点总结:想看的可以从这里进入 目录3.3、MySQL的函数3.3.1、字符串函数3.3.2、数学函数3.3.3、聚合函数3.3.4、日期函数3.3.5、条件判断函数3.3.6、系統信息函数3.3.7、其他函数3.3、MySQL的函数 MySQL提供了丰富的内置函数,这些函数使得数据的维…...

python排序算法

排序是指以特定格式排列数据。 排序算法指定按特定顺序排列数据的方式。 最常见的排序是数字或字典顺序。 排序的重要性在于,如果数据是以分类方式存储,数据搜索可以优化到非常高的水平。 排序也用于以更易读的格式表示数据。 下面来看看python中实现的5…...

【C++入门第二期】引用 和 内联函数 的使用方法及注意事项

前言引用的概念初识引用区分引用和取地址引用与对象的关系引用的特性引用的使用场景传值和引用性能比较引用和指针的区别内联函数内联函数的概念内联函数的特性前言 本文主要学习的是引用 及 内联含函数,其中的引用在实际使用中会异常舒适。 引用的概念 概念&…...

数据结构——顺序表讲解

作者:几冬雪来 时间:2023年2月25日 内容:数据结构顺序表内容讲解 目录 前言: 顺序表: 1.线性表: 2.什么是顺序表: 3.顺序表的概念和构成: 4.顺序表的书写: 1…...

Redis 主从复制-服务器搭建【薪火相传/哨兵模式】

Redis 安装参考文章:Centos7 安装并启动 Redis-6.2.6 注意:本篇文章操作,不能在 静态IP地址 下操作,必须是 动态IP地址,否则最后主从服务器配置不成功! 管道符查看所有redis进程:ps -ef|grep re…...

数据库|(五)分组查询

(五)分组查询1. 介绍2. 语法3. 简单分组函数2. 添加筛选条件3. 添加复杂的筛选条件4. 分组查询特点5. 按表达式或函数分组6. 按多个字段分组7. 分组查询添加排序1. 介绍 引入:查询每个部门的平均工资 -- 以前写法:求的是总平均工…...

Orin安装ssh、vnc教程

文章目录一:ssh远程终端的配置PC的配置MobaXterm的下载二:VNC Viewer远程图形界面终端配置:PC配置:一:ssh远程 终端的配置 1.ifconfig查看终端ip地址 其中的eth是网口,我们需要看的是wlan0下的inet&#…...

Allegro如何快速删除孤立铜皮操作指导

Allegro如何快速删除孤立铜皮操作指导 在做PCB设计的时候,铺铜是常用的设计方式,在PCB设计完成之后,需要删除PCB上孤立的铜皮,即铜皮有网络但是却没有任何连接 如下图 通过Status报表也可以看到Isolated shapes 如何快速地删除孤立铜皮,具体操作如下 点击Shape...

从单管单色到单管RGB,这项MicroLED工艺不可忽视

微显示技术商Porotech,在CES 2023期间展示了最新的MicroLED显示模组。近期,AR/VR光学领域的知名博主Karl Guttag深度分析了该公司的微显示技术,并指出Porotech带来了他见过最有趣的MicroLED技术。Guttag表示:Porotech是本届CES上给…...

6-Java中新建一个文件、目录、路径

文章目录前言1-文件、目录、路径2-在当前路径下创建一个文件3-在当前路径下创建一个文件夹(目录)3.1 测试1-路径已经存在3.2 测试2-路径不存在3.2 创建不存在的路径并新建文件3.3 删除已存在的文件并新建4-总结前言 学习Java中如何新建文件、目录、路径…...

Bootstrap系列之Flex布局

文章目录Bootstrap中的Flexd-flex与d-inline-flex也存在响应式变化flex水平布局flex垂直布局flex水平与垂直也存在响应式变化内容排列(justify-content响应式变化也存在于这里sm,md,lg,xl)子元素对齐方式Align items&a…...

day52 ResNet18 CBAM

在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如&#xff1a…...

【Oracle】分区表

个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

2023赣州旅游投资集团

单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

Python Einops库:深度学习中的张量操作革命

Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...