Fiddler安装与使用教程(2) —— 软测大玩家

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。
📡主页地址:【Austin_zhai】
🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。
💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家私信,有空必回。
阅读目录
- 1. 接上回
- 2. 基础使用
- 3. 移动端抓包
- 4. 命令行
- 5. 注意点
1. 接上回

说到网络调试工具,相信在软件测试行业中的小伙伴几乎都听过Fiddler的名字,没错,它与Wireshark,Charles,Tcpdump都是市面上主流的网络调试工具。而作为一个合格的软件测试工程师,网络相关的基础技能与知识又是不可或缺的一部分,上一篇我们介绍了Fiddler这款软件的安装与基础项配置的内容,接下来博主就继续为大家带来Fiddler日常中的一些高频操作与功能。
2. 基础使用

我们先来简单的看一下基础使用,这里用C站来做例子,我们先在本地访问一下各自的博客首页,因为我们没有在Fiddler中做任何的过滤,一定会有大量的session出现在会话列表中,不过无妨,先找到之前访问的session选中之后来看一下。

就如上图所展示的,上面是一个get类型的请求,在Fiddler的HTTP请求区域中可以看到由两个部分组成,一个就是我们的请求路径,一般称为Request Line;另一个就是请求头,也就是Header。这个就是最最基本的请求的组成。具体的消息结构就不再这里扩展了,大家可以自行学习。
那么对于get类型的请求,服务器就会根据你的请求路径进行判断,并返回给客户端对应的响应。如下图,对于响应可以分为三个部分,第一个就是我们的http状态码,第二个是响应头,最后则是返回的响应消息体。在我们的接口测试中也同样是根据返回的响应中的这三个部分中的特定内容来进行断言和用例执行的。

相对来说POST类型的请求相比GET多了Body部分,所以在请求区域中可以看到每个post请求所带的入参。

同样的服务器的响应依旧是之前的消息体格式,这个是不会有任何差别的。

3. 移动端抓包

我们在配置移动端之前先查看自己的本机内网IP,我们在Fiddler首页右上角用鼠标悬停查看IP信息,端口信息在上一篇的文章中已经配置和介绍过了,默认为8888。

我们这里以安卓手机为例,先进入到手机的设置界面,找到WLAN选项,找到与你Fiddler服务本机同网段的无线网络并连接,长按当前的无线网络,在菜单中选择修改网络,然后勾选显示高级选项,在代理中选择手动,接着就能看见代理下会有几个新的选项出现,填写的内容可以参照下图;服务器主机名内填写启动Fiddler本机的IP,服务器端口如果没修改过的话填写默认的Fiddler服务端口8888,改了就自行修改即可。

修改完移动端的网络代理后,我们就可以在手机浏览器中输入Fiddler服务的地址,格式为IP+PORT的形式,博主这边访问的就是10.31.1.195:8888;这里需要注意的是很多新手很容易将端口前的冒号输入成中文标点符号的形式,仔细观察冒号前后的空余长度就可以发现,这里必须是英文的。
输入访问url后就可以在浏览器中正常的访问到Fiddler服务了,如果看到下图的画面,那说明你的移动端网络与Fiddler服务是正确配置了的。

接下来我们就需要在这里下载所需的根证书,点击画面上的超链接FiddlerRoot certificate将根证书下载到移动端本地。下载完毕后我们直接打开根证书,界面会跳转至安卓的证书安装器,我们这里的证书名称可以随意填写,但如果你的测试手机中需要安装多个Fiddler根证书则最好区分命名,不然后期管理起来会比较费神。凭证用途选择默认的VPN与应用,最后点击确定即可。

设置完成之后,如果没有在Fiddler做任何session过滤的话应该可以看到移动端上的数据已经通过Fiddler进行捕获了。这里大家可以根据自己的业务与APP请求地址进行过滤以确保不会出现太多的无用信息。
这里还需要强调一下iOS的移动端设置,除了上面说的根证书安装步骤之外还需要多做一步操作,在我们的设置界面中选择通用 -> 关于本机 -> 证书信任设置,在该选项界面中找到对应的Fiddler根证书并开启,这样才可以使Fiddler正确的捕获到iOS移动设备上的数据。


4. 命令行

虽然命令行在Fiddler的整个界面中只占了极小的一部分,不注意看都有可能被忽略掉,但它在我们的Fiddler日常使用中的出现频率却是极高的。能用好命令行的话可以大大提高我们的捕获与分析效率,相较于直接在UI上点点点要来的效率很多。
接下来我们就来看几个在日常工作中经常会用到的命令。
? :问号用来做一些关键字的搜索与匹配,我们在问号后面输入一些你要搜索的关键字符串,所有匹配的都会被高亮

= :等号后面是用来连接HTTP方法与状态码,以达到高亮指定条件的效果。

">"与“<” :大于与小于号,简单来说这两个符号后面连接数字,来指定大于或小于当前数字的消息体大小。
这里我们指定了消息体小于3000

@ :@符号后连接的是host或url,我们可以指定任意字符来对host与url进行快速定位。
这里我们@后连接csdn

cls、clear :用来清除当前的会话列表中的所有session记录,也可以用快捷组合键Ctrl + X来实现。
dump :将目前会话列表中的所有会话进行压缩保存,存储路径为:C:\Users\用户名\Documents\Fiddler2\Captures

bps :bps后连接需要中断的HTTP状态码,输入后会立即中断所有当前指定状态码的session。
bpv :用法与bps相同,之后不过连接的是HTTP请求方法,输入后会立即中断所有当前指定方法的session。
g、go :放行当前所有中断的session。
start、stop :开始Fiddler与关闭Fiddler的数据流量捕获。
show、hide :显示与隐藏Fiddler主界面。
select :select后面需要连接指定的响应类型,输入后高亮所匹配中的session。
keeponly :这个与select类似,只不过keeponly会将不符合条件的其他session从会话列表中删除。
urlreplace :urlreplace与python中的replace功能类似,后面连接两个参数,第一个为原字符串,第二个为替换后的字符串。如果不带参数直接输入urlreplace则代表恢复最初的样式。
quit :就是字面意思,输入后直接关闭Fiddler。
5. 注意点

- 我们在查看某些响应的时候,会发现body中的信息是乱码,这是因为内容被压缩的关系,可以看到类型额为gzip。我们可以点击HTTP响应区域上方的
Response body is encoded. Click to decode来对body进行解码,或者直接点击工具栏上的Decode按钮来进行解码。这样我们就可以直接看到对应的内容了。

Decode后的body内容展示。

- 我们日常中除了使用命令行的
?命令之外,还可以使用通用搜索,快捷键与windows的文件操作一致,为Ctrl+F,在这里面我们同样可以搜索关键字来快速定位与高亮你所需要搜索的session,而且这里的高亮还可以设置特定的颜色。

相关文章:
Fiddler安装与使用教程(2) —— 软测大玩家
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…...
ChatGPT集锦
目录 1. 一条指令让ChatGPT变的更强大2. 对ChatGPT提问时,常见的10种错误描述3. Custom instructions如何设置1. 一条指令让ChatGPT变的更强大 在使用GPT的过程中,如何让AI更清晰地了解你的需求很重要?今天分享一个指令,可以让GPT成为你的好同事,与你一起分析和解决问题,…...
CRM系统中的工作流管理及其重要性
工作流是CRM系统中较为常见的功能,它可以有效减少重复工作、提高销售效率。如果您想深入了解,本文就来详细说说,CRM工作流是什么?工作流的作用? 什么是CRM工作流? CRM工作流是指在CRM系统中,根…...
Go framework-go-zero
一、Go Go天然适配云原生,而云原生时代已经到来,各个应用组件基础设施等都应该积极的去拥抱云原生。 不要让框架束缚开发。 1、go-zero介绍 go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,…...
【Python】【Fintech】用Python和蒙特卡洛法预测投资组合未来收益
【背景】 想利用蒙特卡洛方法和yahoo,stooq等财经网站上的数据快速预测特定portfolio的收益。 【分析】 整个程序的功能包括 读取json中的portfolio组合创建蒙特卡洛模拟预测收益的算法创建从财经网站获得特定投资组合数据,并根据2的算法获得该Index或Portfolio收益预测结…...
网络层重点协议-IP协议(结构分析)
IP协议数据报格式 一.4位版本号 用来表示IP协议的版本,现有的IP协议只有两个版本IPv4和IPv6 二.4位首部长度 IP协议数据报报头的长度 三.8位服务类型 3位优先权字段(已经弃用),4位TOS字段,和1位保留 字段(必…...
windows使用vim编辑文本powershell
windows使用vim编辑文本 1、安装 chocolatey 包 以管理员身份打开 PowerShell 进行安装 Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(https://chocolatey.org/install.ps1))2、管理员身份打开 PowerShell 并使…...
学单片机有前途吗?
学单片机有前途吗? 个人认为学习任何一门技术都比不学的强,针对学单片机有前途吗?那么比较对象当然就是在整个IT行业做对比。因此我们可以从职业前景、钱景、这几方面综合考量。 学单片机有前途吗?我觉得重要的一点就是是否适合职业生涯发展,总说程序…...
【计算机网络】 子网划分
文章目录 IP地址分类子网掩码网关广播地址非默认子网掩码子网划分常见问题 IP地址分类 学会十进制和二进制的相互转换可以很快速的有规律的记住 子网掩码 又叫网络掩码,地址掩码,子网络遮罩,就是说把子网络遮起来,不让外界窥探到…...
vscode ros配置
【ROS】VSCODE ROS 配置方法(保姆级教程,总结了多篇)_ros vscode_晴明大大的博客-CSDN博客...
【权限提升-Windows提权】-UAC提权之MSF模块和UACME项目-DLL劫持-不带引号服务路径-不安全的服务权限
权限提升基础信息 1、具体有哪些权限需要我们了解掌握的? 后台权限,网站权限,数据库权限,接口权限,系统权限,域控权限等 2、以上常见权限获取方法简要归类说明? 后台权限:SQL注入,数…...
【C++】—— 特殊类设计
目录 序言 (一)设计一个不能被拷贝的类 (二)设计一个只能在堆上创建对象的类 (三)设计一个只能在栈上创建对象的类 (四)设计一个不能被继承的类 总结 序言 特殊类设计是指在面…...
MFC删除Button控件具体操作
删除Button按键;删除xxxDlg.h中消息映射函数定义 class Ctest4Dlg : public CDialogEx {... public://afx_msg void OnBnClickedButton1();... }删除xxxDlg.cpp中“DoDataExchange”和“BEGIN_MESSAGE_MAP”中的相关代码 void CtestDlg::DoDataExchange(CDataExch…...
vue、js实现页面全屏
浏览器可能是处于安全的考虑,无法实现进入页面自动全屏,只能通过用户操作的形式触发全屏!!! ps:可以通过登录按钮触发登录成功自动全屏 实测vue中可通过登录点击事件加载组件自动全屏 import { useFulls…...
从零开始探索C语言(四)----循环
文章目录 1. C 循环1.1 while 循环1.2 for 循环1.3 do...1.4 嵌套循环 2. 循环控制语句2.1 break 语句2.2 continue 语句2.3 goto 语句 1. C 循环 有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语…...
JS 替换 JSON 数组中的指定字段名
直接链式操作 JSON.parse(JSON.stringify(你的json数组).replace(/原来的字段名/g, "想要的字段名")); 例如: const list [{ id: "1", area: "南明区" }, { id: "2", area: "云岩区" }]; console.log(JSON.pa…...
WebSocket消息推送
创建WebSocket工具类 package org.jmis.riskassess.config;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component;import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.serve…...
二维码智慧门牌管理系统:让城市管理更智能、便捷
文章目录 前言一、二维码智慧门牌管理系统的特点二、数据集约化与规范化三、管理智能化与长效化四、标识规范化与易维护五、服务多元化与便捷化 前言 随着城市化进程的加速,城市管理面临着越来越多的挑战。为了解决地名地址管理交织错综、地名地址支撑政府管理成效…...
React动态添加标签组件
背景 在前端开发的过程中,一些表单的输入经常需要输入多个内容,如果采用一个输入框逗号分隔的方式,展示起来不是很清晰,一般需要采用标签的方式 需求 可以指定空状态时的标题设置标签颜色每个标签的最大长度(字符数)接口传递的时候的分隔标记(是用逗号,还是其他)直接处理表单,不…...
[Linux]套接字通信
摘于https://subingwen.cn,作者:苏丙榅 侵删 文章目录 1. 套接字-socket1.1 概念1.2 网络协议1.3 socket编程1.3.1 字节序1.3.2 IP地址转换1.3.3 sockaddr 数据结构1.3.4 套接字函数 1.4 TCP通信流程1.4.1 服务器端通信流程1.4.2 客户端的通信流程 1.5 扩展阅读1.5.1 初始化套…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

