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

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线, n r n_r nr​ 根接收天线的 MIMO 系…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...

对象回调初步研究

_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...