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 初始化套…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...
高效的后台管理系统——可进行二次开发
随着互联网技术的迅猛发展,企业的数字化管理变得愈加重要。后台管理系统作为数据存储与业务管理的核心,成为了现代企业不可或缺的一部分。今天我们要介绍的是一款名为 若依后台管理框架 的系统,它不仅支持跨平台应用,还能提供丰富…...

