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

本文介绍了Fiddler工具在报文分析、过滤、断点应用和模拟网络限速等方面的功能。Fiddler能够详细分析请求性能数据,如请求和响应的字节数、时间耗时等。过滤器帮助定位特定请求,断点功能用于测试篡改请求或响应。此外,文章还探讨了弱网测试的重要性以及Fiddler如何配置进行HTTPS拦截和解密。
摘要由CSDN通过智能技术生成

目录

一、报文分析

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. 特定请求的断点
  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?

评论区等你的解答😏 

 

 

 

 

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值