【Fiddler】从零开始学习Fiddler

2023-11-12

因为要开始学习接口测试,fiddler是一个很好的抓包工具而且免费好用,特开一贴来记录fiddler的学习历程。

Fiddler的工作原理

这里写图片描述
打开Fiddler之后会自动给电脑创建一个系统代理,默认端口为8888,。在客户端和服务器之间获得通讯的信息,并且以会话的形式呈现给我们。

Fiddler的代理模式
1.流模式(Streaming):

可以理解为一种实时通信的模式,请求之后实时返回。
更接近浏览器本身真实的行为。

2.缓冲模式(Buffering):

等所有的请求都到了之后再一起返回。
可以用来控制最后的服务器响应。

在实际的使用过程中,我们根据不同的场景需求来选择不同的代理模式。
在界面上我们使用一个按钮来切换这两种模式。Fiddler默认为缓冲模式。
这里写图片描述

Fiddler工具条按钮介绍
  • 这里写图片描述给捕捉到的绘画增加一个备注,不太常用

  • 这里写图片描述用于重播会话,快捷键是R。按住CTRL无条件补发,按住SHIFT多次补发。

  • 这里写图片描述用来清空监控面板,右侧的小三角形可以选择条件清空。
    这里写图片描述对应的中文版为这里写图片描述

  • 这里写图片描述这个要结合状态栏的断点使用,这里简单插播一下状态栏的图标介绍:
    这里写图片描述右下角的状态栏中如果有这个图标的话表示正在捕获会话中,点击一下就停止捕获
    这里写图片描述这个是指捕获的哪些进程,第一个是指全部进城,第二个是web浏览器,第三个是非浏览器,最后一个是隐藏所有。
    这里写图片描述这个就是添加断点功能,就在上个图标后面小白框框内点击一下就有了。当对指定进程设置断点之后,点击这里写图片描述,就会在断电进程停止,必须点击这里写图片描述才能够继续捕获后面的会话。
    如果我再次点击这里写图片描述,就会变成箭头向下的这个图标这里写图片描述,这个意思是指客户端发送个已请求在服务器未返回请求时停止捕获,再点击这里写图片描述继续。

  • 列表内容这个按钮就是切换模式的按钮,之前已经讲过了,这里略过。

  • 这里写图片描述解码按钮,就是帮我们将http中的东西解压出来,能够帮助我们更好的查看数据。适用于下次捕获的会话。

  • 这里写图片描述保持会话,保存的越多,内存占用越大

  • 这里写图片描述这个按钮很重要,当这样显示的时候表示捕捉的所有进程的信息。当我只想捕捉某一个进程的信息时,我们将把心拖动到此进程的图标之上,例如只想捕获谷歌浏览器的会话,就把靶心拖动到下方谷歌浏览器的图标上面,成功后按钮变成这里写图片描述就说明已经锁定了这个进程。辣么后面再捕获的进程就不会有其他的会话了。

  • 这里写图片描述查找功能,在会话比较多的时候点击这个可以查找指定会话并标记颜色,点开之后是这个样子的这里写图片描述
    中文版就是这张图
    这里写图片描述
    当我们标记之后想取消标记怎么办,点击这个按钮就可以了。
    这里写图片描述

  • 列表内容保存按钮,可以保存为有密码的saz文件,也可以是没有密码的。

  • 这里写图片描述五秒钟之后会把截图保存下来

  • 这里写图片描述计时器,点击一下开始,再单击一下停止,第三下清零或右键清零。

  • 这里写图片描述可以快速启动下拉菜单中的浏览器

  • 这里写图片描述快速清除缓存,一般在抓包之前要做的事情

  • 这里写图片描述文字编解码,点开后选择解码方式就可以编解码了

  • 这里写图片描述将右侧面板变成浮窗,关闭浮窗之后就变回原样。

  • 这里写图片描述MSDN首座和帮助按钮,不常用到。

如何使用Fiddler抓取https包

因为证书问题的解决方案

有时候我们抓不到包是由于证书的问题,所以先要给fiddler支持https的捕获和解析功能。具体步骤如下图:
这里写图片描述
这里写图片描述
这样我们就获得了fiddler的证书,然后我们将这个证书导入到浏览器中(这里以火狐浏览器为例)。
在浏览器中找到查看证书:

这里写图片描述
然后再导入:
这里写图片描述
然后我们将fiddler和火狐浏览器重启一下看能否抓包。

如何使用Fiddler抓取手机包
  • 首先打开fiddler,Tools>>Options,在Connections和HTTPS中分别进行设置:
    这里写图片描述这里写图片描述
    然后重启fiddler使修改生效。

  • 使用WIN+R,输入cmd打开命令提示符,输入ipconfig查看本机IPv4的地址,记住它。
    这里写图片描述

  • 在手机中设置。要求要在同一局域网下,就是都连接同一个wifi就可以。在这里我使用夜神模拟器进行示范:
    要给模拟器设置锁屏密码,然后点开设置>>WLAN>>长按连接的wifi,然后进行如下操作:
    这里写图片描述这里写图片描述
    操作完成之后点击保存,这时候我们就已经可以抓到http的包了,如果需要抓取https的包,还需要进行下一步。

  • 需要给手机安装fiddler的证书,打开手机浏览器,输入本机地址和端口号,建议使用本地浏览器打开:
    这里写图片描述
    此处容易出现No root certificate was found,Have you enabled HTTPS traffic decryption in Fiddler yet?这个问题,解决方法就是在本机命令提示符中进入到Fiddler的安装目录中,并运行下面这一段话
    makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
    这里写图片描述
    然后就能够下载证书啦。
    下载证书之后本地浏览器是默认打开的,将证书名称改了之后就直接访问浏览器进行抓包操作。
    这里写图片描述
    经过试验之后发现抓不到模拟器的包???所以我们在手机上进行之前的操作,并且在手机上打开浏览器。
    这时候我们可以看到已经抓到了https包:
    这里写图片描述
    打开某个会话我们可以看到这个字段这里写图片描述这个标记头表示手机端 。

Fiddler状态栏详解

之前有介绍了一丢丢状态栏按钮,这里再详细介绍一下其他的按钮。

  • 列表内容这个位于左下角长长的一条是控制台,可以在里面输入命令行。比如输入help就可以打开使用说明。
  • 这里写图片描述这是点击会话的详情。

使用fiddler的过滤条件

1. 域名过滤

只显示特定域名的记录:
在这里插入图片描述
设置好了后一定要点击Actions生效;

2.类型过滤

一般对各种图片、CSS、JS这类的静态素材也不需要看的情况下,直接全部过滤掉,需要过滤多少自己直接加入就好了。

 .*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff) 

在这里插入图片描述

3.根据返回状态码

比如只想显示200的状态,其他的不显示:
在这里插入图片描述

如果本篇博客对你来说有用的话,请点个赞吧ヾ(◍°∇°◍)ノ゙
在这里插入图片描述

最后总结一下:
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:593462778,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

作者:暗潮汹涌
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Fiddler】从零开始学习Fiddler 的相关文章

  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • 软件测试|SQLAlchemy环境安装与基础使用

    简介 SQLAlchemy 是一个强大的 Python 库 用于与关系型数据库进行交互 它提供了高度抽象的对象关系映射 ORM 工具 允许使用 Python 对象来操作数据库 而不必编写原生SQL查询 本文将介绍如何安装 SQLAlchem
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|使用matplotlib绘制多种柱状图

    简介 在数据可视化领域 Matplotlib是一款强大的Python库 它可以用于创建多种类型的图表 包括柱状图 本文将介绍如何使用Matplotlib创建多种不同类型的柱状图 并提供示例代码 创建基本柱状图 首先 让我们创建一个基本的柱状
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • 探索自动化测试断言:提升测试效率与质量的关键!

    前言 断言在自动化测试中起着关键的作用 它是验证测试结果是否符合预期的重要手段 如果在自动化测试过程中忽视了断言 那么这个测试就失去了其本质的意义 因为我们无法得知测试结果是否达到了预期的效果 因此 断言在自动化测试中的重要性不言而喻 那么
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结
  • 这个 ASP.Net 和 Fiddler 示例有什么问题?

    我正在使用 Visual Studio 2012 RC 我使用默认路由并具有以下 Web API 控制器 public class FooController ApiController GET api foo public IEnumer
  • 如何删除fiddler安装的根CA证书

    Fiddler 有助于添加唯一的根 CA 证书来拦截 HTTPS 流量 添加此证书后 如何删除它 两种方式之一 1 禁用 HTTPS 解密并单击标题为 删除拦截证书 的按钮 2 打开 CertMgr msc 打开个人和受信任存储 然后使用根
  • 我可以使用 Fiddler 脚本修改 JSON 响应吗

    以下是我从服务器获得的响应 正文 我正在寻找修改一些键值对 我使用了以下方法 var bodystr oSession GetResponseBodyAsString var bodyjson Fiddler WebFormats JSON
  • 过滤 fiddler 仅捕获特定域的请求

    我不确定如何修改 CustomRules js 文件以仅显示特定域的请求 有谁知道如何做到这一点 这很容易做到 在过滤器选项卡上 单击 仅在过滤器包含时显示 然后键入您的域
  • Silverlight 请求、失败和 Fiddler

    我有一个发出跨域请求的 Silverlight 应用程序 clientaccesspolicy xml 文件存在于我发出请求的服务器上并且配置正确 我知道它配置正确 因为当我使用该应用程序发出请求时我的机器我收到了没有问题的回复 当大约 3
  • WCF - 进行多次调用时随机客户端超时

    我有一个WPF客户端通过以下方式请求数据WCF服务托管于IIS 7 服务方法调用存储过程 SQL 2012 using EF检索一些数据 由于需要加载大量数据 因此客户端会多次调用服务方法 以 分解 数据加载并避免大量负载和超时 我们使用生

随机推荐

  • 算法—反转链表

    题目 实现单链表的逆转函数 输入一个链表 反转链表后 返回翻转之后的链表 分析 利用三个指针 head node nodeNext node指向当前结点 head指向当前结点的前一个结点 nodeNext指向当前结点的后一个结点 先将hea
  • 浏览器动态显示服务器日志,基于 websocket 实现远程实时日志 在浏览器中查看设备的运行日志...

    本文介绍一个基于websocket实现的远程实时日志系统 可以通过浏览器查看远程移动设备的实时运行日志 系统由三个部分组成 1 服务器 与移动设备和浏览器建立websocket连接 将移动设备websocket上读取的实时日志转发到对应的浏
  • 每日算法-回文链表

    题目 请判断一个链表是否为回文链表 示例 1 输入 1 gt 2 输出 false 示例 2 输入 1 gt 2 gt 2 gt 1 输出 true 进阶 你能否用 O n 时间复杂度和 O 1 空间复杂度解决此题 解法 思路一 先把链表的
  • QGIS自定义地图工具

    官方示例 首先看一下官方文档中的矩形工具源码 class RectangleMapTool QgsMapToolEmitPoint def init self canvas self canvas canvas QgsMapToolEmit
  • fatal: pathspec ‘fileName‘ did not match any files 解决办法

    再删除文件的时候突然出现了这个问题 fatal pathspec fileName did not match any files 分析如下 这个文件怎么回事 为什么删不掉 难道是分支的错误 还是怎么回事 产生原因 该文件存在于 gitig
  • C语言----实现有向图/无向图的创建与基本操作(深度、广度优先遍历)

    最近发现一个不错的项目 Github上数据结构所有算法源码实现 数据结构 严蔚敏 吴伟民 教材源码与习题解析 1 图的数组 邻接矩阵 存储表示 包含算法 有向图 无向图创建 添加顶点 删除边 插入边 深度优先遍历 递归 广度优先遍历 队列实
  • 跨平台的桌面应用程序开发框架Electron

    electron electron Stars 109 3k License MIT Electron 是一个基于 Node js 和 Chromium 的开源框架 允许使用 JavaScript HTML 和 CSS 编写跨平台的桌面应用
  • Elasticsearch系列---聚合查询原理

    概要 本篇主要介绍聚合查询的内部原理 正排索引是如何建立的和优化的 fielddata的使用 最后简单介绍了聚合分析时如何选用深度优先和广度优先 正排索引 聚合查询的内部原理是什么 Elastichsearch是用什么样的数据结构去执行聚合
  • linux 下交换 esc与cap的方法。

    有两种方法 1 xmodmap 2 dconf editer 操作如下图所示 xkb options 改为图片所示
  • STM32项目 -- 选题分享(部分)

    前言 分享部分STM32项目选题以及实现效果 暂时没有分享代码 列表 编号 项目名称 难度 使用器件 实现效果 1 基于STM32的智能万用表设计 3 STM32F103C8T6 OLED 1 测量电压 2 OLED显示测量值 3 实现层级
  • ASP.NET-----Repeater数据控件的用法总结

    一 Repeater控件的用法流程及实例 1 首先建立一个网站 新建一个网页index aspx 2 添加或者建立APP Data数据文件 然后将用到的数据库文件放到APP Data文件夹中 3 打开数据库企业管理器 数据库服务器为loca
  • 【帧同步】关于状态同步的经验分享

    方案 低延迟环境下 比如国内 局域网情况下 写个同步那都不是难事 是个客户端看点书就会写了 难点在于 如何去处理 高延迟 以及及时响应的情况 我举个例子 fps或者tank游戏中 子弹和炮弹的射速是很快的 如果两边在对轰过程中 又碰到了 附
  • Qt (ui界面)信号与槽函数 组件连接

    重点 信号与槽连接机制 难点 信号与槽函数的 参数使用 头函数 ifndef WIDGET H define WIDGET H include
  • 登录页面,表单提交,参数不显示

    一开始的form
  • curl下载文件

    我的个人博客 逐步前行STEP curl url o filename progress 下载url的内容到文件filename中 并显示下载进度
  • 深度学习面试八股文(2023.9.06)

    一 优化器 1 SGD是什么 批梯度下降 Batch gradient descent 遍历全部数据集算一次损失函数 计算量开销大 计算速度慢 不支持在线学习 随机梯度下降 Stochastic gradient descent SGD 每
  • 三种常用的排序方法图解及C语言实现(选择排序,冒泡排序,快速排序)

    选择排序 冒泡排序 快速排序 选择排序 选择排序是最简单直观的一种算法 选择排序是不稳定排序 基本思想 首先在未排序序列中找到最小 大 元素 存放到排序序列的起始位置 然后 再从剩余未排序元素中继续寻找最小 大 元素 然后放到已排序序列的末
  • 迷宫 蓝桥杯 602

    题目描述 本题为填空题 只需要算出结果后 在代码中使用输出语句将所填结果输出即可 下图给出了一个迷宫的平面图 其中标记为 1 的为障碍 标记为 0 的为可以通行的地方 010000 000100 001001 110000 迷宫的入口为左上
  • Java中的锁详解说明

    转自 Java中的锁详解说明 下文笔者讲述java中锁的详解 如下所示 java锁简介 锁与synchronized同步块具有同样的功能 是一种线程同步机制 但锁比Java中的synchronized同步块更复杂 因为锁是由synchron
  • 【Fiddler】从零开始学习Fiddler

    文章目录 Fiddler的工作原理 Fiddler的代理模式 1 流模式 Streaming 2 缓冲模式 Buffering Fiddler工具条按钮介绍 如何使用Fiddler抓取https包 如何使用Fiddler抓取手机包 Fidd