当前位置: 首页 > 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…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...