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

news2024/12/24 10:27:39

在这里插入图片描述

 
 

在这里插入图片描述
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。
📡主页地址:【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. 注意点

在这里插入图片描述

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

 
Decode后的body内容展示。
在这里插入图片描述

 
 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/982492.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI新时代,新华三存储新思考

在数字经济蓬勃发展下&#xff0c;数据正在重塑社会运行模式&#xff0c;推动百行百业的创新发展&#xff0c;成为经济发展的关键驱动力。如今数据成为企业的重要资产&#xff0c;企业希望通过数据了解市场和客户的需求来快速决策&#xff0c;这不仅需要数据高效流转&#xff0…

Python爬取电影信息:Ajax介绍、爬取案例实战 + MongoDB存储

Ajax介绍 Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;是一种用于在Web应用程序中实现异步通信的技术。它允许在不刷新整个网页的情况下&#xff0c;通过在后台与服务器进行数据交换&#xff0c;实时更新网页的一部分。Ajax的主要特点包括&#xff1a; 异步通…

【解决】mysqladmin flush-hosts

问题 mysql出现 mysqladmin flush-hosts&#xff0c;是因为其他客户机连接错误次数过多时&#xff0c;mysql会禁止客户机连接。 解决方法 1、进入服务器数据库&#xff0c;打开数据库命令行界面输入 flush hosts; 此时便可连接 2、可以.修改mysql配置文件&#xff0c;在[…

SpringBoot项目--电脑商城【上传头像】

一、易错点 1.错误写法&#xff1a; 把文件存到数据库中,需要图片时访问数据库,数据库将文件解析为字节流返回,最后写到本地的某一个文件.这种方法太耗费资源和时间了 2.正确写法&#xff1a; 将对应的文件保存在操作系统上,然后再把这个文件路径记录下来,因为在记录路径的…

重生奇迹通关恶魔广场攻略篇

初次进入重生奇迹MU的血色城堡&#xff0c;你可能会对里面不断刷新出来的怪物产生一种密集恐惧症&#xff0c;但是请相信一点&#xff0c;那就是恶魔广场里面的怪物更多&#xff0c;而且品种还不重复&#xff0c;由低至高&#xff0c;轮番刷新&#xff0c;一波又一波……在我看…

Linux部署kettle并设置定时任务

一.安装Kettle linux中使用kettle时首先需要jdk环境&#xff0c;这里就不概述linux中jdk的安装与配置了。 1.首先将kettle压缩包放入linux并解压 unzip data-integration.zip kettle安装路径为:/root/Kettle9.3/data-integration 设置权限 chmod -R 755 /root/Kettle9.3/d…

Allegro画原理图时不能用的非法字符,你知道吗?

Cadence Allegro是一款电子设计自动化工具&#xff0c;常用于原理图绘制和电路设计&#xff0c;在使用Allegro画原理图时&#xff0c;电子工程师可能为了确保文件的准确性和稳定性&#xff0c;能够顺利进行后续的PCB设计和制造&#xff0c;需要注意这些非法字符&#xff0c;那么…

提高 Web 开发效率的10个VS Code扩展插件,你知道吗?

前言 一个出色的开发工具可以显著提高开发人员的开发效率&#xff0c;而优秀的扩展插件则能更进一步地提升工具的效率。在前端开发领域&#xff0c;VSCode毫无疑问是目前最受欢迎的开发工具。为了帮助前端开发人员提高工作效率&#xff0c;今天小编将向大家推荐10个强大的VSCo…

TSINGSEE青犀视频AI智能算法平台电动车入梯检测解决方案

一、方案背景 随着大众的出行要求逐渐提升&#xff0c;交通拥堵现象也随处可见&#xff0c;电动车出行&#xff0c;就成了大家的首选。随着电动车数量的激增&#xff0c;众多用户为了个人方便&#xff0c;大多在室内停放或充电&#xff0c;有的甚至停放在走道、楼梯间等公共区…

无涯教程-JavaScript - BITOR函数

描述 BITOR函数返回两个数字的按位"或"。 语法 BITOR (number1, number2)争论 Argument描述Required/OptionalNumber1Must be in decimal form and greater than or equal to 0.RequiredNumber2Must be in decimal form and greater than or equal to 0.Required…

基于Java+SpringBoot+Vue前后端分离青年公寓服务平台设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

vue基础知识七:SPA首屏加载速度慢的怎么解决?

一、什么是首屏加载 首屏时间&#xff08;First Contentful Paint&#xff09;&#xff0c;指的是浏览器从响应用户输入网址地址&#xff0c;到首屏内容渲染完成的时间&#xff0c;此时整个网页不一定要全部渲染完成&#xff0c;但需要展示当前视窗需要的内容 首屏加载可以说…

指针跃动(济南)客户运营服务中心上线了!

指针跃动&#xff08;济南&#xff09;客户运营服务中心上线了&#xff01; ——打通客户运营服务全链路—— 随着全国代驾业务需求的不断增长&#xff0c;“指针跃动”宣布&#xff1a;指针跃动&#xff08;济南&#xff09;客户运营服务中心上线了&#xff01; 以新的思维方式…

CMT:卷积与Transformers的高效结合

论文提出了一种基于卷积和VIT的混合网络&#xff0c;利用Transformers捕获远程依赖关系&#xff0c;利用cnn提取局部信息。构建了一系列模型cmt&#xff0c;它在准确性和效率方面有更好的权衡。 CMT:体系结构 CMT块由一个局部感知单元(LPU)、一个轻量级多头自注意模块(LMHSA)和…

end value has mixed support, consider using flex-end instead

这是因为 应该用flex-end,不应该用end 所以将所有的都改好之后&#xff0c;就不会再报这个错了

python3 修改nacos的yaml配置

一、安装nacos库 pip install nacos-sdk-python 二、代码如下 import nacos import yaml# 连接地址 NACOS_SERVER_ADDRESSES "192.168.xx.xx" NACOS_SERVER_PORT 替换为你的端口号&#xff0c;如8848# 命名空间 NACOS_NAMESPACE "your_namespace"# 账…

【网络层】网络基础 -- IP协议

引入IP协议头格式网段划分特殊的IP地址IP地址的数量限制 私有IP地址和公网IP地址分片与组装如何分片与组装&#xff1f; 引入 我们前面学习了传输层的相关知识&#xff0c;难道真的就是直接传送吗&#xff1f;当然不是&#xff0c;那TCP究竟做了什么&#xff1f;IP又扮演什么角…

RFID溯源驱动汽车座椅制造的智能时代

在今天的快速发展的制造业中&#xff0c;信息化和智能化已经成为不可或缺的部分。信息化和智能化能够极大地提高生产效率、减少浪费&#xff0c;降低成本&#xff0c;提升产品的质量。汽车座椅产线信息化和智能化是汽车座椅产线升级的重要方向&#xff0c;RFID技术方案在汽车座…

有了这个技术,再也不为水浸事件发愁啦!

在现代社会中&#xff0c;电力是我们生活和工作的不可或缺的一部分。电力供应的可靠性对于维持社会的正常运转至关重要。而变电站则是电力系统中的关键环节&#xff0c;它们起着将高压电转换为适用于分配的低压电的重要作用。然而&#xff0c;变电站也存在各种风险&#xff0c;…

学习Bootstrap 5的第六天

目录 信息警告框 警告框 实例 警告框链接 实例 关闭警告框 实例 警告框动画 实例 按钮 按钮样式 实例 按钮轮廓 实例 ​编辑按钮尺寸 实例 块级按钮 实例 实例 活动/禁用按钮 实例 加载器按钮 实例 扩展小知识 信息警告框 警告框 警告框是使用 .aler…