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

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...