Fiddler 抓包八个实用技巧

大家对Fiddler应该不会陌生,但里面有些技巧不见得都会,这里就有八个实用技巧,通过对Fiddler的定制,能提高大家的测试效率。

fiddler抓包教程:一节课教你fiddler抓包在测试领域的四大实战,你一定要学_哔哩哔哩_bilibili一节课教你fiddler抓包在测试领域的四大实战,你一定要学共计5条视频,包括:1.Filters如何精准抓取项目的包、2.Fiddler如何精准定位前后端Bug、3.Fidder抓取https协议及App包等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1ym4y157Ys/?spm_id_from=333.999.0.0

1、双击Session时,使响应页始终显示到”json”tab页;使请求页始终显示到“webform”tab页
在Fiddler左下角 QUICK EXEC 命令执行窗口,输入

PREFS SET fiddler.ui.inspectors.response.alwaysuse "json"
PREFS SET fiddler.ui.inspectors.request.alwaysuse "WebForms"

双击Session时,使响应页始终显示到”json”tab页;使请求页始终显示到“webform”tab页

2、显示每个Session 的请求IP地址
打开Fiddlerscript 在 main() 中写与以下代码:

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

显示每个Session 的请求IP地址

3、修改响应Header中的Content-Type
打开Fiddlerscript在 onBeforeResponse() 中添加

// 如果host中包含tugele,把响应Content-Type修改为 json类型
if (oSession.host.Contains("tugele")){oSession.oResponse["Content-Type"] = "application/json;charset=UTF-8";
}

4、右键session 直接使用浏览器打开url
打开Fiddlerscript,在 class Handler 中添加

public static ContextAction("Open in Chrome")
function DoOpenInIE(oSessions: Fiddler.Session[]){if (null == oSessions){MessageBox.Show("Please choose at least 1 session."); return;}for (var x = 0; x < oSessions.Length; x++){//执行cmd 命令System.Diagnostics.Process.Start("chrome.exe", oSessions[x].url);}
}

右键session 直接使用浏览器打开url

5、Session列中,显示每个请求的响应时间
打开Fiddlerscript,在 class Handler 中添加

public static BindUIColumn("TimeTaken/ms", 120)
function TimeTaken(oS: Session):String{var sResult = "0";var t1_ms = oS.Timers.ClientBeginResponse.ToUniversalTime().Millisecond;var t1_m = oS.Timers.ClientBeginResponse.ToUniversalTime().Minute;var t1_s = oS.Timers.ClientBeginResponse.ToUniversalTime().Second;var t1 = t1_m*60*1000 + t1_s*1000 + t1_ms;var t2_ms = oS.Timers.ClientDoneRequest.ToUniversalTime().Millisecond;var t2_m = oS.Timers.ClientDoneRequest.ToUniversalTime().Minute;var t2_s = oS.Timers.ClientDoneRequest.ToUniversalTime().Second;var t2 = t2_m*60*1000 + t2_s*1000 + t2_ms;if(t1 >= t2){var t3 =  t1 - t2;sResult = t3.toString();}return sResult;
}

6、发送请求时,拦截并修改请求的url
打开Fiddlerscript在 onBeforeRequest() 中添加

// 指定包含 biaoqing 的url,替换url中的字符串
if (oSession.fullUrl.Contains('biaoqing')){if (oSession.fullUrl.Contains('abc')){oSession.fullUrl = oSession.fullUrl.Replace('abc','bcd');}// 在fiddler log中查看实际的请求FiddlerObject.log(oSession.fullUrl);
}

7、模拟弱网环境
菜单栏,打开 Rules > Performance > Simulate Modem speed 开关
打开Fiddlerscript ,修改以下代码中的阈值,调整上下行流量的延迟时间,单位是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"] = "550";
}

8、获取上一个请求的响应内容,作为下一个请求的Body,并使用Fiddler构造该请求
打开 Fiddlerscript,在 onBeforeRequest() 中添加

//解密开关每次打开关闭都要去脚本中修改不太方便,因此把解密开关配置在Fiddler UI菜单栏中
public static RulesOption("Dectryt tugele")var tgl: boolean = true;static function OnBeforeResponse(oSession: Session) {//tgl为解密开关,配置在UI RULES选项卡中if (oSession.host.Contains("tugele") && tgl){//获取请求的响应内容stringvar oBody: String = oSession.GetResponseBodyAsString();var eBody: String = "content=" + encodeURIComponent(oBody);//把String 转为 byte[]类型var Content: byte[] = System.Text.Encoding.UTF8.GetBytes(eBody);//构造一个header对象var oRQH: HTTPRequestHeaders = new HTTPRequestHeaders("/tools/decrypt", ['User-Agent: Fiddler','Host: test.example.com','Content-Length: '+Content.length.ToString(), 'Content-Type: application/x-www-form-urlencoded']);//定义请求方法为postoRQH.HTTPMethod = "POST";//定义oSD(参数需要,一般为空)var oSD = new System.Collections.Specialized.StringDictionary();//发送请求,生成一个新sessionFiddlerApplication.oProxy.SendRequestAndWait(oRQH, Content, oSD, null);}
}

以上就是我总结的一些方法,希望对大家能有所帮助,当然 Fiddler 还有很多其它高级的用法值得探索,也期待你的分享。

 fiddler抓包教程:一节课教你fiddler抓包在测试领域的四大实战,你一定要学_哔哩哔哩_bilibili一节课教你fiddler抓包在测试领域的四大实战,你一定要学共计5条视频,包括:1.Filters如何精准抓取项目的包、2.Fiddler如何精准定位前后端Bug、3.Fidder抓取https协议及App包等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1ym4y157Ys/?spm_id_from=333.999.0.0

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

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

相关文章

vue event bus 事件总线

vue event bus 事件总线 创建 工程&#xff1a; H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门到实战-配套资料\01-随堂代码素材\day04\准备代码\08-事件总线-扩展 vue --version vue crea…

微信多账号聊天、多账号管理,轻松拿捏

你是否微信账号太多&#xff0c;很难管理&#xff1b; 是否很难触达精准客户&#xff1b; 是否人力成本不断上升&#xff0c; 公司迫切需要提高工作效率&#xff0c;降低成本。 ...... 针对多个痛点问题&#xff0c; 微信管理系统进行了有针对性的开发和定位。 多账号聚合…

【计算机网络黑皮书】入门必学的基本网络知识

【事先声明】 这是对于中科大的计算机网络的网课的学习笔记&#xff0c;感谢郑烇老师的无偿分享 书籍是《计算机网络&#xff08;自顶向下方法 第7版&#xff09;》 需要的可以私信我&#xff0c;无偿分享&#xff0c;课程简介下也有 B站链接 目录 网络核心电路交换端到端之间的…

LeetCode【2251. 花期内花的数目】

给你一个下标从 0 开始的二维整数数组 flowers &#xff0c;其中 flowers[i] [starti, endi] 表示第 i 朵花的 花期 从 starti 到 endi &#xff08;都 包含&#xff09;。同时给你一个下标从 0 开始大小为 n 的整数数组 people &#xff0c;people[i] 是第 i 个人来看花的时间…

基于SpringBoot的医院管理系统

目录 前言 一、技术栈 二、系统功能介绍 病床信息管理 药房信息管理 个人中心管理 药房信息 病床类别 科室信息管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息互联网信息的飞速发展&#xff0c;医院也在创建着属于自己的管理系统。本文介…

uniapp 事件委托失败 获取不到dataset

问题&#xff1a; v-for 多个span ,绑定点击事件 代码:view里包着一个span, <view class"status-list" tap"search"><span class"status-item" v-for"(key,index) in statusList" :key"index" :data-key"k…

【N年测试总结】区块链行业测试特点

一、区块链业务系统简介 转入转出业务&#xff1a;这类业务一般会涉及币的转入和转出&#xff0c;转入的流程一般是用户从第三方钱包往用户在公司的地址转入&#xff0c;系统收到用户的转入操作消息通知后&#xff0c;定时在链上监控该地址相关的交易&#xff0c;通过校验各项…

windows:批处理bat入门

文章目录 什么是BAT常用命令与语法help与/?titlecolormodeechopausecallremset/a/p gotostartifif errorlevel for普通用法for /l 用法for /d用法for /r用法for /f用法in (file)delims和tokensskipeolusebackq 变量扩展变量延迟 setlocalshiftdirrd&#xff08;删除文件夹&…

服务器搭建(TCP套接字)-libevent版(服务端)

Libevent 是一个开源的事件驱动库&#xff0c;用于开发高性能、并发的网络应用程序。它提供了跨平台的事件处理和网络编程功能&#xff0c;具有高性能、可扩展性和可移植性。下面详细讲解 Libevent 的主要组成部分和使用方法。 一、事件基础结构&#xff08;event_base&#x…

【网络协议】Http-下

HTTP常见Header Content-Type: 数据类型(text/html等) Content-Length: Body的长度 Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上; User-Agent: 声明用户的操作系统和浏览器版本信息; referer: 当前页面是从哪个页面跳转过来的; location: 搭配3xx状态…

无需公网IP,实现公网SSH远程登录MacOS【内网穿透】

目录 前言 1. macOS打开远程登录 2. 局域网内测试ssh远程 3. 公网ssh远程连接macOS 3.1 macOS安装配置cpolar 3.2 获取ssh隧道公网地址 3.3 测试公网ssh远程连接macOS 4. 配置公网固定TCP地址 4.1 保留一个固定TCP端口地址 4.2 配置固定TCP端口地址 5. 使用固定TCP端…

定义豪车新理念 远航汽车亮相2023中国(天津)国际汽车展览会

近年来&#xff0c;随着汽车行业竞争持续加剧&#xff0c;老品牌面临积极转型&#xff0c;新势力则经验不足、实力欠佳&#xff0c;到底是难抵市场的风云变幻。在此背景下&#xff0c;有着“老品牌 新势力”双重基因的远航汽车可谓底气十足。作为大运集团携手博世、华为、阿里斑…

JumpServer开源堡垒机与爱可生云树数据库完成兼容性认证

近日&#xff0c;中国领先的开源软件提供商FIT2CLOUD飞致云宣布&#xff0c;JumpServer开源堡垒机已经完成与爱可生云树数据库软件的兼容性认证。经过双方联合测试&#xff0c;云树数据库软件&#xff08;简称&#xff1a;ActionDB&#xff09;V1.0与杭州飞致云信息科技有限公司…

什么是Vue的Vetur插件?它有哪些功能

引言 在现代前端开发中&#xff0c;Vue.js已经成为了一个备受欢迎的JavaScript框架。随着Vue.js的流行&#xff0c;开发人员需要强大的工具来提高他们的生产力和Vue.js项目的质量。Vetur插件是一个为Vue.js开发者提供的强大工具&#xff0c;它不仅提供了丰富的功能&#xff0c…

【超详细】前段开发之详细的Vue3入门教程,特别适合小白系统学习,入门到熟练使用Vue看这一篇就够了!

前言&#xff1a; 这篇文章更加侧重的是Vue3不同于Vue2的知识点&#xff0c;如果学习Vue2请看下面这篇文章 Vue2详细系统入门教程 11.2 Vue3 声明&#xff1a;图片资源来自于黑马程序员公开学习资料 本人在学习当中&#xff0c;详细整理了笔记&#xff0c;供大家参考学习 1…

什么是DOM和DOM操作

什么是DOM&#xff1f; DOM&#xff08;文档对象模型&#xff09;:HTML文档的结构化表示。允许JavaScript访问HTML元素和样式来操作它们。&#xff08;更改文本&#xff0c;HTML属性甚至CSS样式&#xff09; 树结构由HTML加载后自动生成 DOM树结构 这个是一个很简单的HTML代…

实验五 熟悉 Hive 的基本操作

实验环境&#xff1a; 1.操作系统&#xff1a;CentOS 7。 2.Hadoop 版本&#xff1a;3.3.0。 3.Hive 版本&#xff1a;3.1.2。 4.JDK 版本&#xff1a;1.8。 实验内容与完成情况&#xff1a; &#xff08;1&#xff09;创建一个内部表 stocks&#xff0c;字段分隔符为英文逗号…

SkyWalking分布式链路追踪学习

为什么要用分布式链路追踪 实际生产中&#xff0c;面对几十个、甚至成百上千个的微服务实例&#xff0c;如果一旦某个实例发生宕机&#xff0c;如果不能快速定位、提交预警&#xff0c;对实际生产造成的损失无疑是巨大的。所以&#xff0c;要对微服务进行监控、预警&#xff0…

颜色+情感的英语表达还有这些,零基础学英语口语去哪里,柯桥有推荐的吗?

当我们探讨关于"blue"&#xff08;蓝色&#xff09;的多义性时&#xff0c;我们会发现英语中有许多其他词汇也有类似的双关意义。 既可以表示一种颜色或物理属性&#xff0c;又可以代表一种情感或心理状态。 这种现象在语言中很常见&#xff0c;反映了语言的丰富性和…

如何将图片转为ico格式

这里主要是记录一个网站&#xff0c;如果你有更好的办法欢迎留言~ ico简介 ICO&#xff08;Icon&#xff09;是一种用于表示图标的文件格式&#xff0c;常用于Windows操作系统中。ICO格式的图片通常用于表示应用程序、文件夹、网站等的图标。 ICO文件可以包含多个图标&#x…