Fiddler工具使用汇总

2023-11-10

Fiddler工作原理

fiddler作为一个代理服务器,跟浏览器建立连接之后,浏览器像目标服务器发送的请求都会经过fiddler代理,所以fiddler可以捕获到http(s)请求,从而可以解释、分析、甚至重写发出去的http(s)请求。
在这里插入图片描述
启动fiddler后,Fiddler会自动设置代理
在这里插入图片描述
访问浏览器,即可抓取HTTP请求
在这里插入图片描述
左下角显示capturing为正在抓取,点击一下会停止抓取。

查看HTTP信息

点击请求,在右侧inspectors可以查看HTTP请求和响应信息
在这里插入图片描述

Fiddler作用和使用场景

作用:
1)抓包
2)模拟限速
3)重定向
4)修改数据重发送
5)发送自定义请求,模拟小型接口测试
6)APP抓包
常用场景:
1)抓包分析,辅助定位bug
2) APP弱网模拟测试
3)前端性能分析与优化

Fiddler 是一款功能强大的网络抓包工具,主要用于分析、调试和监视网络流量。它可以捕获并显示通过计算机和互联网之间传输的HTTP、HTTPS、FTP、WebSockets和其他流量。

以下是 Fiddler 的主要作用和使用场景:

  1. 网络流量分析:Fiddler 可以捕获和展示应用程序发送和接收的网络请求和响应,它提供了详细的请求和响应信息,包括请求头、响应头、慢速请求、重定向等。这对于分析网络连接问题、排查错误以及查看网络通信的数据非常有帮助。

  2. 接口调试:Fiddler 可以模拟服务器和客户端的网络请求和响应,使开发人员能够在不同的网络环境中进行接口调试。它可以修改请求和响应的内容,添加或删除头信息,模拟各种网络错误等。

  3. 性能分析:Fiddler 提供了一些工具和功能,用于分析应用程序的性能。您可以使用它来检测慢速请求、高延迟、高带宽消耗、大量重复请求等问题,并对性能进行调优。

  4. 安全测试:通过捕获和分析应用程序的网络流量,Fiddler 可以帮助进行安全测试,例如检查敏感信息是否明文传输、查找潜在的安全漏洞等。

  5. 流量重放:Fiddler 支持将捕获到的网络流量保存为会话文件,然后可以重新播放这些会话文件,以便进行回归测试、模拟负载、观察应用程序行为等。

总而言之,Fiddler 是一个非常实用的网络调试工具,适用于开发人员、测试人员、安全专家以及其他需要分析和监测网络流量的人员。

添加请求断点

工具栏rules->automatic breakpoints,点击before requests,快捷键直接F11
进行浏览器操作,fiddler会在请求发出前进行拦截。如图点击登录,抓到登录请求,拦截后,可以修改数据,点击run to completion继续完成请求。
在这里插入图片描述

添加响应断点

在这里插入图片描述
通过修改response,可以使响应返回特定的状态码。
在这里插入图片描述

重放请求

在请求上右键,replay
在这里插入图片描述

设置显示IP地址

Fiddler默认配置中是看不到服务器IP的,可以在Fiddler上显示请求的服务器IP,设置方法如下:

在Fiddler界面,点击右上角的“Rules”,选择“Customize Rules”。
在弹出的CustomRules.js文件里搜索“static function Main()”,找到后在该函数中添加如下一行脚本:FiddlerObject.UI.lvSessions.AddBoundColumn(“Server IP”,120,“X-HostIP”);。
保存并关闭CustomRules.js文件。
刷新Fiddler界面,即可看到服务器IP。
在这里插入图片描述

fiddler作为接口测试工具

可模拟一个小型/简易的接口测试工具,借助fiddler上的Composer可填写可以填接口地址,设置请求参数、填写响应结果后execute后,相当于模拟一个简易的接口测试工具
Fiddler中的Composer用来创建HTTP Request并发送请求。
Composer的功能也可以说是简单的接口测试工具,发包工具,或者是Fiddler的重放功能。允许自定义请求发送到服务器,即可以手动创建一个新的请求,也可在会话表中拖拽一个现有的请求。
Fiddler创建Request有两种方式:
1)可以手写一个Request
2)在Web sessions会话列表中拖拽一个已有的Request,修改数据后,点击execute,左侧可以看到执行记录,点击记录后在inspectors可以看到请求和响应
在这里插入图片描述

Composer起到的功能和Inspectors中的作用一样,都是篡改数据,不过Composer可以篡改Cookie中的数据,Inspectors篡改的是输入的数据。

fiddler抓取特定网站

在右侧勾选Filters,勾选use Filters,勾选show onloy the following hosts,在下方填写要抓取的地址。
再抓取request,左侧会只显示该地址的请求。
在这里插入图片描述

fiddler限速/弱网模拟

打开Fiddler安装路径下scripts/SampleRules.js文件
m_SimulateModem是一个属性,用于控制是否开启模拟调制解调器限速功能,该属性有两个值,
request-trickle-dela 设置请求每kb延迟多少ms
response-trickle-delay 设置响应每kb延迟多少ms
1、根据要模拟的速度设置ms

 if (m_SimulateModem) {
            // Delay sends by 300ms per KB uploaded.
            oSession["request-trickle-delay"] = "300"; 
            // Delay receives by 150ms per KB downloaded.
            oSession["response-trickle-delay"] = "150"; 
        }

2、勾选 Rules->performance->simulate moderm speeds
在这里插入图片描述

fiddler结合jmeter

https://www.jianshu.com/p/b3dcc28108f0

Fiddler 模拟不同IP地址

Fiddler可以用来模拟不同的IP地址访问页面,这样就可以查看网页在不同IP下的显示结果。

具体操作步骤如下:

打开Fiddler。
菜单栏点击Rules->Customize Rules或使用快捷键Ctrl+R。
通过快捷键Ctrl+F,搜索OnBeforeRequest。
在函数中添加一行代码,设置X-Forwarded-For字段值为需要构造的IP地址。
保存并关闭,重启Fiddler后即可看到X-Forwarded-For字段值。
在这里插入图片描述

fiddler命令cls/select

在这里插入图片描述
cls:清屏
select 筛选某一类型会话 如select application
?: 查找包含字符串的会话
Fiddler有很多命令,以下为您推荐:

bpv:对包含指定字符串的URI创建请求断点。
bpu:对包含指定字符串的URI创建请求断点,取消设置断点使用"bpu //取消设置"。
cls or clear:清空会话列表。
dump:打包所有会话成zip归档文件并转存在指定路径下。
g or go:恢复所有设置断点的会话。
hide:隐藏Fiddler界面,系统后台运行。
select:选择指定内容,如select image选择图片等。
urlreplace:以一个不同的字符串替换URL中任何字符串。

问题

抓不到https

用fiddler,发现又抓不到https协议的请求。
后来发现是因为设置了,我把https设置成from remote clients only了,只能接收远程APP请求。
设置成from all processes,点击OK。然后重启fiddler即可。
在这里插入图片描述

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

Fiddler工具使用汇总 的相关文章

  • 接口测试之Fiddler弱网测试

    前言 目前市面上的APP功能越来越丰富 移动端测试也越显为重要 因为用户在网速慢的情况下 你的网站 软件 总能出现各种各样的问题 请不要忽略这一点 针对在不同的网络情况下 接下来 本篇要讲述的就是在通过fiddler对APP进行模拟弱网测试
  • #私密朋友圈被吐槽有bug?官方致歉!网友:尴尬了......

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Web 安全漏洞之 OS 命令注入

    什么是 OS 命令注入 上周我们分享了一篇 Web 安全漏洞之 SQL 注入 其原理简单来说就是因为 SQL 是一种结构化字符串语言 攻击者利用可以随意构造语句的漏洞构造了开发者意料之外的语句 而今天要讲的 OS 命令注入其实原理和 SQL
  • Selenium小技巧!

    Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器 如 Chrome Opera 和 Microsoft Edge 中的工具 用于帮助开发人员调试和研究网站 借助 Chro
  • 前端必备的 web 安全知识手记

    前言 安全这种东西就是不发生则已 一发生则惊人 作为前端 平时对这方面的知识没啥研究 最近了解了下 特此沉淀 文章内容包括以下几个典型的 web 安全知识点 XSS CSRF 点击劫持 SQL 注入和上传问题等 下文以小王代指攻击者 话不多
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 每天10个前端小知识 <Day 6>

    前端面试基础知识题 1 使用js实现二分查找 二分查找 也称为折半查找 是指在有序的数组里找出指定的值 返回该值在数组中的索引 查找步骤如下 从有序数组的最中间元素开始查找 如果该元素正好是指定查找的值 则查找过程结束 否则进行下一步 如果
  • codeblock使用技巧

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • 【gee】下载modis土地利用类型

    var china ee FeatureCollection projects assets china boundary var lc dataset ee ImageCollection MODIS 061 MCD12Q1 filter
  • Vue3 和Vue2的区别,以及钩子函数的使用

    Vue js 3 和 Vue js 2 是两个主要版本的流行前端框架 它们之间有很多区别 包括性能优化 新特性和改进的API等 以下是一些Vue 3与Vue 2之间的主要区别 以及一些示例代码来说明这些差异 1 性能优化 响应式系统 Vue
  • 低代码-添加按钮组件设计

    效果图 可拆分为以下细节 按钮列表 删除 两个操作需同步删除 点击外侧删除 点击复选框删除 添加 点击复选框添加 示例代码 技术栈 vue3 arco design ts less tailwindcss
  • 低代码配置-列表页组件设计

    保存 表单属性存放 bill 筛选项配置存放 filterLayout 列表按钮存放 buttonLayout 列表布局存放 listLayout api存放 api 数据结构 layout 存放表单基础配置 bill 存放按钮基础配置 b
  • 课设:NFA确定化和最小化程序的设计与实现(html+css+js实现)

    文章目录 问题描述 待解决问题 1 如何存储NFA或者是DFA 2 NFA多初态问题 3 子集化过程思路 4 分割法过程思路 使用方法 下载链接 问题描述
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过 send 方法来向服务器发送数据 并通过 onn
  • 30天精通Nodejs--第十九天:express-文件上传下载

    目录 前言 环境准备与依赖安装 文件上传功能实现 引入并配置express fileupload中间件 注意事项 文件下载功能实现 结语 前言 文件的上传和下载是许多应用程序必备的功能 Node js的Express框架同样可以通过集
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • 过滤 fiddler 仅捕获特定域的请求

    我不确定如何修改 CustomRules js 文件以仅显示特定域的请求 有谁知道如何做到这一点 这很容易做到 在过滤器选项卡上 单击 仅在过滤器包含时显示 然后键入您的域
  • 如何使用 PAC(代理自动配置)通过 Fiddler 调试 Htmlunit 流量

    我有一个使用 Htmlunit 的应用程序 需要放置 Fiddler 来拦截流量 我读了一些有关通过附带的 PAC 代理自动配置 javascript 文件配置它的内容 但我无法再次找到该文章 如何通过 PAC 配置 Htmlunit PA
  • Silverlight 请求、失败和 Fiddler

    我有一个发出跨域请求的 Silverlight 应用程序 clientaccesspolicy xml 文件存在于我发出请求的服务器上并且配置正确 我知道它配置正确 因为当我使用该应用程序发出请求时我的机器我收到了没有问题的回复 当大约 3
  • Fiddler 会话对象文档

    在哪里可以找到有关 Fiddler Session 对象的属性和方法的文档 我正在 Fiddler 中创建一些自定义规则 js 以进行故障排除 安装脚本编辑器并单击 视图 gt 类资源管理器 http www telerik com dow

随机推荐

  • MySQL 数据库基本操作-DML

    一 基本介绍 DML是指数据操作语言 用来对数据库中表的数据记录进行更新 关键字 插入 insert 删除 delete 更新 update 二 数据插入 语法格式 向表中插入某些列 insert into 表 列名1 列名2 列名3 va
  • CSND搬家到------->博客园(在博客园写作&&技术交流)

    后续就在博客园整理笔记和技术交流啦 已经把CSDN相关的文章全部整理发布到博客园 点击去康康博主的新家 之前很多人通过qq与博主联系 由于各种原因在QQ上不能够及时解答疑惑 现在大家可以通过如下方式在博客园与博主交流哦 我会经常去看博客园消
  • 基于Hexo和Butterfly创建个人技术博客,(13) 第一阶段总结,Hexo和Butterfl详细配置

    Butterfly官方网站 请 这里 Hexo官司网查看 这里 前面通过10节的课程梳理了hexo和butterfly用到的所有知识 虽经过了梳理但内容还是比较多 所以本章给出一个前10章的一个小结 因涉及一些个人信息 所有部分配置项换成了
  • 快速排序(Quick-Sort)

    快速排序 Quick Sort 对于包含n个数的数组来说 快速排序是一种最坏情况下时间复杂度为O n 的排序算法 虽然最坏情况下的时间复杂度很差 但是快速排序通常是实际应用中最好的选择 因为它的平均性能非常好 下面是算法导论中给出的快速排序
  • python 字典的key没有引号,怎么使用这个字典。

    result TopicPartition topic CLEAR partition 1 ConsumerRecord topic CLEAR partition 1 offset 195 value b x01 x00com js tr
  • HTML <select> 标签

    实例 创建带有 4 个选项的选择列表
  • 【计算机网络】TCP报文段详解

    本文为借阅书籍资料 观看他人博客总结得出 欢迎提问 一 前期说明 TCP虽然是面向字节流的 但是在网络中的传输单元确实是报文段的格式 一个TCP报文段分为首部和数据两个部分 而协议的全部实现都在TCP报文段的首部体现出来的 只有先理解首部各
  • 【计算机视觉】ViT:代码逐行解读

    文章目录 一 代码 二 代码解读 2 1 大体理解 2 2 详细理解 一 代码 import torch import torch nn as nn from einops import rearrange from self attent
  • 如何调整图片分辨率大小(适用于电脑/手机)

    随着智能手机快速发展 相机分辨率也从几百万像素升级到上千万 甚至上亿像素 超高像素的图片不仅会占用越来越多的存储空间 还会在上传和分享时耗费不少时间 而且在一些特殊APP或者网站上传图片时 可能对图片宽高分辨率有要求 这些时候 就需要我们调
  • ARP Proxy

    ARP Proxy原理 当主机没有配置网关 发一个请求目的MAC地址 ARP Proxy会使用自己的MAC地址作为该ARP请求的的回应 分类 路由式ARP Proxy 实现同一网段 请求的是目的MAC地址 不同物理位置 中间有三层设备 的互
  • 开源大模型详解

    作者 Linux猿 简介 CSDN博客专家 华为云享专家 Linux C C 云计算 物联网 面试 刷题 算法尽管咨询我 关注我 有问题私聊 欢迎小伙伴们点赞 收藏 留言 本篇文章主要对开源大模型进行总结和介绍 一 什么是大模型 大模型指网
  • 吐槽记~(这个帖子是我的垃圾桶)~哈哈

    我倒是要看看tamen到底有多少该吐槽的点 一 令人窒息的业务 初见 1 收到原始需求文档 涉及前后端开发 涉及流程 但是无流程图 无UI图 全文字描述 2 过需求会议 来一份会议纪要 加20个修改点 3 再来一个会议 提出15个修改点 开
  • mpvue小程序实战项目开发记录篇(二)

    六 mpvue的能力 1 彻底的Vue组件化开发能力 提高代码复用性 2 完整的vue开发体验 3 快捷的 webpack 构建机制 开发阶段 hotReload 4 支持npm安装依赖 5 使用 Vue js 命令行工具 vue cli
  • 手机闪存速度排行_手机闪存性能排行

    手机专用闪存主要分为eMMC和UFS两大类别 前者仅支持并行读写 即半双工运行 读写必须分开执行 哪怕是最新的eMMC5 1标准其顺序读取和写入速度也不过300MB s和200MB s左右 常见于售价低于千元的入门级4G手机市场 UFS自诞
  • Win10 某个移动硬盘不自动分配盘符

    简单来说就是某个移动硬盘不自动分配盘符 每次都要到磁盘管理里面手动分配盘符 而且每次删除设备后 手动分配的盘符不消失 1 使用管理员启动 CMD 命令提示符 2 输入 diskpart 3 列出磁盘 list disk 4 选择磁盘 sel
  • 创建动态数组键盘输入一个正整数 n,创建大小为 n 的数组(采用动态数组的方式),将数组中的元素初始化为 n、n+1、...、2n - 1。并输出数组中的元素。输入描述:键盘输入一个正整数 n输

    include
  • 【QT 网络云盘客户端】——实现文件属性窗口

    目录 文件属性对话框 设置字体样式 获取文件的信息 显示文件属性对话框 当我们点击文件中的属性 则会弹出一个属性对话框 实现过程 0 设置 属性 菜单项的槽函数 1 鼠获取鼠标选中的QListWidgetItem 它包含 图标和文件名 2
  • 代码重构与单元测试——重构1的单元测试(四)

    四 重构1的vb net教程单元测c 教程试 程序开发过程中 写代码是为了实现需求 当我们的代码通过了编译 只是说明它的语法正确 功能能否实现则不能保证 因此 当我们的某些功能代码完成后 为了检验其是否满足程序的需求 可以通过编写测试代码
  • java自动化测试语言高级之多线程编程

    java自动化测试语言高级之多线程编程 Java 多线程编程 Java 给多线程编程提供了内置的支持 一条线程指的是进程中一个单一顺序的控制流 一个进程中可以并发多个线程 每条线程并行执行不同的任务 多线程是多任务的一种特别的形式 但多线程
  • Fiddler工具使用汇总

    Fiddler工作原理 fiddler作为一个代理服务器 跟浏览器建立连接之后 浏览器像目标服务器发送的请求都会经过fiddler代理 所以fiddler可以捕获到http s 请求 从而可以解释 分析 甚至重写发出去的http s 请求