修改fiddler中CustomRules.js的Request或Response

Fiddler弱网测试实战:模拟真实网络环境,提升应用健壮性 在软件开发和测试领域,网络环境模拟是保障应用质量的关键环节。其核心原理是通过代理工具拦截并控制网络流量,人为引入延迟、限速和丢包等参数,以模拟真实世界中复杂多变的网络条件。这项技术的价值在于,它能帮助开发者和测试工程师在应用上线前,提前发现并修复因网络问题导致的性能瓶颈、交互卡顿和功能异常,从而显著提升用户体验和应用健壮性。典型的应用场景包括移动App在弱信号环境下的加载测试、Web服务在高延迟下的接口响应验证,以及前后端在异常网络下的容错机制检查。本文将以Fiddler这一经典HTTP调试代理工具为例,深 阅读详情

 下面我先通过两个具体例子来进行说明修改fiddler的CustomRules.js的规则

1.将请求的域名转发到带端口号的host上,并不改变后面的请求地址.(注意:这个是发请求,所以要放在请求之前)

  方法步骤:

         (1)fiddler,选择Rules—customize 

           (2)记事本打开CustomRules.js文件

         (3)查找OnbeforeRequest,在  static function OnBeforeRequest(oSession: Session) {}

            里面加入 if (oSession.host.toLowerCase()== 'tdrec.youku.com'){oSession.host='10.108.50.152:2082'; }

         (4)保存记事本后,访问网页,代理成功,可以在fiddler看到接口的域名变成10.108.50.152:2082

 

 

2.修改页面输出的数据字段,比如针对土豆播放页面的tvccode,tvccode=-1修改成tvccode=1003。(注意:这个是返回响应信息,所以放在响应之前)

方法步骤:

 

         (1)fiddler,选择Rules—customize 

           (2)记事本打开CustomRules.js文件

         (3)查找OnBeforeResponse,在  static function OnBeforeResponse(oSession: Session) {}里面加入

                 if (oSession.uriContains("dvd=138715")) { //判断Url内容中是否包含特定内容,针对这个Url进行下面的操作
                     oSession.utilDecodeResponse();
                    oSession.utilReplaceInResponse("tvcCode: '-han1'", "tvcCode:'1003'");

                    }  

            (4)可以通过快捷键Ctrl+U查看页面输出的tvccode或者在控制台中打印出tvccode查看是否修改成功,如下图所示

修改响应后,结果:

3.在Fiddler Script中修改Request中的body的数据

 oSession.utilReplaceInRequest("1111", "2222");

具体例子:

修改某个接口的请求IP为随机地址,不中防刷机制,如下图所示

代码:在static function OnBeforeRequest(oSession: Session) {}函数里面加如下代码:

oSession.utilReplaceInRequest("114.80.235.143", parseInt(255*Math.random())+"."+parseInt(255*Math.random())+"."+parseInt(255*Math.random())+"."+parseInt(255*Math.random()) );

 

     推荐http://blog.youkuaiyun.com/coolcaosj/article/details/39668305?utm_source=tuicool,很感谢SaRanCao,更多的FiddlerScript内容的学习可以去他的博客,可以很灵活的根据项目的需要修改Request或Response ,达到自己想要的结果。SaRanCao说的一句"修改Request和Response要在FiddlerScript中的OnBeforeRequest和OnBeforeResponse函数中添加规则即可。OnBeforeRequest函数是在每次请求之前调用,OnBeforeResponse函数是在每次响应之前调用",非常好用,记住这一条就OK了。

参考博客:http://www.cnblogs.com/TankXiao/archive/2012/04/25/2349049.html

                   http://blog.youkuaiyun.com/coolcaosj/article/details/39668305?utm_source=tuicool

4.由于遇到过跨域请求,请求返回数据代理到本地无法成功的问题,解决办法:在fiddlerscript增加响应头信息,让请求返回数据的时候,都自动加上access-control-allow-origin和access-control-allow-headers的内容:

方法步骤:

               (1)在CustomRules.js中搜索OnBeforeResponse,在static function OnBeforeResponse(oSession: Session) 函数里增加代码:

                      if (oSession.HostnameIs("122.225.193.5:3310")){//指定域名是特定的内容,针对这个域名增加响应头,这个响应头从正常访问数据中获取,再自己模拟添加
            oSession.ResponseHeaders.Add("Access-Control-Allow-Origin","http://122.225.193.5:3380");
            oSession.ResponseHeaders.Add("Access-Control-Allow-Headers","Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token");
        }

               (2)再抓请求代理到本地文件,页面已请求到本地文件,成功的达到想要的结果!

参考:http://blog.youkuaiyun.com/weiwenhp/article/details/50009521

            https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS

5.网络限速,测试不同网络下的运行情况

    修改CustomRules.js达到目的。首先在OnBeforeRequest函数里面找simulate,通过设置修改数值达到限速的不同要求,如下:

 

 

 

 

 

6.Options-HTTPS-Capture HTTPS CONNECTs—Decrypt HTTPS traffic—Skip decryption for the following hosts

     手机在代理到抓包工具出现无法看到一些请求数据和返回的数据,请求显示成灰色。同时,fiddler显示A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below,导致流程无法进行下去。在出现这种情况可以尝试在Skip decryption for the following hosts加入该请求的host。遇到的场景:收银台调用第三方SDK支付失败(ApplePay、云闪付),这个时候就可以把抓包到灰色请求的host添加到Skip decryption for the following hosts,就能完美的成功调起来。

 

 

 

 

7.fiddler抓取https请求的步骤设置

 

 

(1)手机代理到fiddler(这个步骤和设置就不说明了,就设置https和Connections。https设置和connections设置本文章都有截图),手机浏览器访问代理的ip和port下载证书(http://ip:port)并安装完成。ios会自动安装,Android若无法自动安装可以去找到下载存放的目录,点击进行安装。

 

 

 (2)需要设置证书信任。ios:通用-关于本机-证书信任设置,启用代理工具信任。Android:安全-受信任的凭证,启用fiddler代理。(暂时只知道这些,若有遗留后续补充)

(3)没有第三步

 

8.composer模拟发送请求,遇到下面的报错,解决版本是如下图所示填写协议号( Tools  -> Options  ->Https->添加protocols)。具体的解决步骤见:http://www.cnblogs.com/cbugs/p/9304370.html

[Fiddler] The connection to 'XXX' failed. <br />System.Security.SecurityException Failed to negotiate HTTPS connection with server.fiddler.network.https&gt; HTTPS handshake to XXX (for #1) failed. System.IO.IOException 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。 &lt; 远程主机强迫关闭了一个现有的连接。

 

 

 

 

FIddler : CustomRules.js脚本解析get请求被加密的参数 背景:app上报计数时,上报的参数加密了。fiddler抓包只能看到加密后的文件。每次都要从客户端log里才能看到报数。为了解决这个问题,在fiddler脚本文件中对计数请求的参数进行解密,这样,fiddler抓包就能看到明文的log了。 当然,前提是要知道加密的规则。 编写脚本前提: 1、安装fiddler; 2、安装fiddler的fiddler script插件(fidd... 阅读详情

相关推荐

使用Fiddler Everywhere抓包与Node.js模拟微信小程序接口实战

网络抓包是理解应用数据交互流程的核心技术,通过分析HTTP/HTTPS协议请求与响应,可以清晰掌握客户端与服务器的通信机制。其技术价值在于能够逆向解析接口契约,为开发、测试和安全评估提供关键依据。在软件研发与测试领域,这一技术常用于接口模拟(Mock)、前后端解耦开发以及异常场景构造。本文聚焦于微信小程序这一具体应用场景,详细阐述了如何利用Fiddler Everywhere这一抓包工具进行HTTPS流量解密和会话分析,并进一步结合Node.js与Express框架搭建动态Mock服务器,最终实现对小程序的

weixin_34221036的博客 357

Fiddler 保存会话 (请求)/自动导出

(侵删) 转自:https://testerhome.com/topics/5481 这篇文章,很多人都有转载,但自己在用的时候始终报错,后在上面这个网站中,看到下面的很多评论和自己遇到的问题类似,终于解决了一些报错的问题。(本文末,将附一部分评论) 另文中提到的 fiddler.js代码 为什么要保存请求? 做这件事最重要的目的之一就是,最近我需要实现一个简单的验证服务器接口正确性的...

hxc2101的博客 5074

Windows HTTPS证书配置与Fiddler网络嗅探实战指南

HTTPS作为保障网络通信安全的核心协议,通过TLS/SSL加密技术防止数据在传输过程中被窃听或篡改。其工作原理基于非对称加密和数字证书体系,在客户端与服务器之间建立可信的加密通道。这项技术的核心价值在于为Web应用、API接口及各类在线服务提供了身份认证和数据保密性。在实际的软件开发、安全审计和运维调试场景中,开发者常需分析应用的真实网络行为,例如进行性能优化、安全漏洞排查或竞品分析。此时,理解并掌握流量拦截与分析技术至关重要。通过配置受信任的根证书,结合代理工具对HTTPS流量进行解密,可以实现对网络请

weixin_30443813的博客 421

Fiddler工具杂记-存储特定的数据包保存到文件(CustomRules.js基本使用)

这里主要的原因是,某些application里面带有某些安全算法,以目前本人的逆向知识很难去破解它。 但根据包头有他的运算结果,目前以成功shi'x,在此可以记录下。 此篇博文是实现存储包头的过程: 首先是配置Fiddler, 在文件夹中找到这个FS2.exe 记录这个路径在Fiddler中进行配置: 在工具选项中进行配置! 将FiddlerScript编辑器配置好...

IT1995的博客 4817

Fiddler与Wireshark协同解密HTTPS流量:从原理到实战的完整指南

HTTPS作为保障网络通信安全的核心协议,通过TLS/SSL加密机制在客户端与服务器之间建立安全通道,防止数据在传输过程中被窃取或篡改。其工作原理基于非对称加密交换会话密钥,然后使用对称加密传输实际数据,在金融交易、用户登录等敏感场景中至关重要。然而,加密机制也给开发调试和故障排查带来了挑战,工程师难以直接查看传输内容。通过中间人代理与网络协议分析工具的结合,可以实现在授权环境下对HTTPS流量的解密与分析。Fiddler作为应用层代理工具,能够拦截并解密HTTPS流量,而Wireshark则擅长网络层数据

weixin_34138056的博客 355

API联调实战:Fiddler、Postman与Wireshark组合排查网络问题

在前后端分离与微服务架构中,API联调是开发测试的核心环节。理解HTTP/HTTPS协议的工作原理,掌握应用层与网络层的调试技术,对于保障系统间可靠通信至关重要。通过分层排查方法,可以高效定位从业务逻辑到网络传输的各类问题,提升工程效率。本文聚焦于Fiddler、Postman和Wireshark三款工具的组合应用,覆盖了从接口契约验证、流量代理分析到底层协议诊断的全链路调试场景。针对常见的网络错误、连接超时和协议异常,这套方法论能帮助开发者快速收敛问题范围,是提升API调试与网络问题排查能力的实用指南。

weixin_33984032的博客 376

fiddler入门 (三) 断点、js脚本定制 设置host

参考文档: 关于 WEB/HTTP 调试利器 Fiddler 的一些技巧分享 Fiddler 高级用法:Fiddler Script 与 HTTP 断点调试 Fiddler系列之修改host 2、FiddlerAutoResponder:请求、响应应答与替换 AutoResponder 是Fiddler 比较重要且比较强大的功能之一。可用于拦截某一请求,并重定向到本地的资源。拦截和重...

lelemom的博客 3649

Fiddler手机抓包全攻略:从HTTPS解密到高级调试技巧

HTTP/HTTPS协议是网络通信的基石,其通过请求-响应模型实现客户端与服务器的数据交换。HTTPS在HTTP基础上加入TLS/SSL加密层,保障了传输安全,但也为调试带来了挑战。抓包技术通过代理中间人机制,能够拦截、解密和修改网络流量,这对于移动应用开发、接口调试、性能分析和安全测试具有重要价值。在移动开发场景中,抓包工具如Fiddler Classic,通过配置HTTPS解密、设置远程连接和安装信任证书,可以实现对手机App网络行为的全面监控。本文聚焦于Fiddler这一经典工具,详细解析其核心的HT

weixin_33845881的博客 433

FiddlerScript编程

FiddlerScript 是Fiddler 的一项非常强大的功能,它允许你增强Fiddler UI,添加新的特性,修改请求与响应内容等等。。。 1.编写FiddlerScript FiddlerScript 基于JScript.NET 语言。在Fiddler 中点击菜单“Rules &gt; Customize Rules”打开FiddlerScript Editor 编辑器,在这里可以编写...

細水、長流√的专栏 1万+

Fiddler实战:HTTP/HTTPS请求拦截与篡改全流程详解

在软件开发和测试中,网络请求调试是定位前后端问题的关键环节。其核心原理是通过代理机制,将客户端与服务器之间的通信流量进行拦截、分析和修改,从而实现无需修改代码即可模拟各种测试场景的技术价值。这一技术广泛应用于接口健壮性验证、前后端联调、安全测试以及性能分析等场景。借助Fiddler等专业调试代理工具,开发者可以高效地进行请求参数篡改、响应模拟和自动化脚本编写,从而精准定位问题根源。本文以Fiddler为例,深入讲解其代理模式、HTTPS解密原理,并通过实战演示如何利用断点、AutoResponder和Fid

weixin_34159110的博客 343

Fiddler抓包全攻略:从HTTP/HTTPS解密到移动端调试实战

HTTP/HTTPS协议是Web和移动应用通信的基石,理解其工作原理对开发调试至关重要。通过代理机制,我们可以对网络请求进行拦截、分析和修改,这在排查接口问题、性能优化和安全测试中具有极高价值。Fiddler作为一款强大的HTTP调试代理工具,正是实现这一能力的利器。它通过中间人(MITM)技术,能够解密HTTPS流量,让开发者清晰查看请求与响应的细节。无论是前端排查API调用异常,还是后端验证接口设计,亦或是测试人员进行安全审计,Fiddler都能提供关键洞察。本文聚焦于Fiddler的核心应用,特别是针

long_yu2的专栏 539

Fiddler 弱网设置保姆级教程

通过Fiddler模拟各种网络环境进行应用测试。首先安装Fiddler并配置移动设备代理,启用"Simulate Modem Speeds"功能模拟2G网络,还可在CustomRules.js中自定义延迟、带宽等参数。文章提供了2G/3G/4G等常见网络参数参考,并介绍了扩展功能如模拟丢包的方法。通过调整request-trickle-delay、response-trickle-bandwidth等参数,开发者能全面测试应用在弱网环境下的表现。

万维网连五洲,二进制写尽天下事,喜欢结识新伙伴寻找志同道合的朋友,欢迎一起探讨学习 3071

Fiddler进阶指南:从抓包到性能优化与自动化调试实战

在Web开发和测试领域,网络调试代理是分析HTTP/HTTPS流量的核心工具。其工作原理是通过在客户端与服务器之间建立代理,实现对网络请求与响应的拦截、查看和修改。这项技术的价值在于能够深入洞察应用与服务器的交互细节,是进行接口调试、性能分析和安全测试的基石。在实际应用场景中,开发者常利用它进行前后端联调、模拟网络环境以及定位性能瓶颈。本文聚焦于Fiddler这一功能强大的代理工具,详细拆解其HTTPS解密、断点调试等核心机制,并深入探讨如何运用其进行接口性能优化与自动化脚本编写,帮助读者从基础使用迈向高效

hck341204的专栏 212

Fiddler设置网络限制(弱网测试)

本文介绍使用Fiddler模拟弱网环境的步骤:1)启动Fiddler并确保默认不勾选模拟调制解调器速度;2)通过修改CustomRules.js脚本自定义网络延迟参数,可设置固定值(如2G网络模拟)或使用随机函数生成动态延迟;3)启用模拟功能后测试应用在弱网下的表现。重点说明了request-trickle-delay(上传延迟)和response-trickle-delay(下载延迟)参数的配置方法,并提供了实现随机网络波动的代码示例,使测试更接近真实网络环境。

qq_52758588的博客 707

Fiddler工具:关于数据修改,你知道多少?!

始终在路上 Fiddler工具:关于数据修改,你知道多少?! 大家都说Fiddler工具很强大,那么Fiddler到底有哪些功能呢?我们用下面这幅图就可以简单地概括总结一下: 图片虽然不是很美观,但是将fiddler的功能总结得很是精辟,它高大上的内涵足以支撑简陋的门面,厉害了,老铁! 言归正传,从这幅图上我们可以很清晰的看出Fiddler是用来捕获数据,并对数据进行分...

雨水的早晨的博客 4726

Vivado新手避坑指南:搞懂Generate Output Products和Create HDL Wrapper到底在干啥

本文深入解析Vivado设计流程中的Generate Output Products和Create HDL Wrapper两大关键步骤,帮助新手理解其核心功能与操作要点。通过详细讲解文件生成类型、关键选项设置及常见问题解决方案,指导开发者正确使用这两个功能,避免设计流程中的常见错误,提高FPGA开发效率。

weixin_29207149的博客 311

Fiddler 之弱网测试(2G,3G,4G)

1、模拟弱网环境 打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds,勾选之后访问网站会发现网络慢了很多 2、Fiddler弱网的原理 Rules—>Cutomize Rules打开CustomRules.js 文档 在文件中搜索关键字,m_SimulateModem 1. // Cause Fiddl...

IT_xiaocai27的博客 1万+

VC Spyglass实战指南:从零开始掌握CDC约束配置与调试

本文详细介绍了如何使用VC Spyglass进行CDC约束配置与调试,从基础环境搭建到典型CDC问题调试实战,帮助开发者快速掌握跨时钟域验证技术。通过TCL脚本和SDC约束的深度解析,提升CDC验证效率,避免常见设计风险。

weixin_26757925的博客 296

Fiddler (二) Script 用法

通过前一篇博客 【Fiddler教程】, 我们了解了Fiddler的基本用法, 现在我们来看看Fiddler的高级用法. Fiddler Script。 Fiddler中的script 可以让我们自动修改Http request和Response 的内容。 而不用手动地去下"断点"来修改http Request或Response中的值。 Fiddler的作者 Fiddler 的作...

weixin_30735391的博客 114

基于python的排课表系统,用python编写排课系统

实现一个具体的课程管理系统。(5) 学生可以查看自己选上的课的成绩,以及各个课程的得分、绩点,并给出其平均绩点,但不允许查看年级其他人的成绩。(2) 学生定制专属课表,可以查看整个学期本人的课程安排,包括课程名称、上课时间、上课地点、任课老师、学分等等。(13) 系主任可以查看整个系的全部学生以及他们的平均绩点,可以对每个班进行排名,或者也可以对整个系进行排名。(15) 系主任可以查看整个学期所开设的所有课程,包括这些课程的全部详细信息。(1) 学生基本信息的查询,学生可以对本人的系统登陆密码进行修改。

yang0728y的博客 1999

ANSYS Fluent:湍流模型理论与应用

雷诺平均方程(RANS,Reynolds-Averaged Navier-Stokes equations)是湍流建模中最常用的方法。它通过将Navier-Stokes方程中的瞬时速度分解为平均速度和脉动速度,然后对这些方程进行时间平均,从而简化了湍流的计算。RANS方法的关键在于湍流闭合问题的解决,即如何准确地表示脉动速度的统计量。雷诺应力模型(RSM)是一种更高级的湍流模型,它通过求解六个雷诺应力方程来描述湍流的各向异性。RSM模型能够更准确地预测复杂的湍流流动,如旋转流和分离流,但计算成本较高。

kkchenjj的博客 2946

Fiddler中文版脚本编辑器完全指南:自定义规则和过滤器

Fiddler Web Debugger 中文版是一款强大的Web调试工具,其内置的脚本编辑器允许用户通过自定义规则和过滤器来扩展功能,满足个性化调试需求。本文将详细介绍如何使用Fiddler中文版的脚本编辑器,从基础操作到高级规则编写,帮助新手用户快速掌握自定义调试技巧。 ## 认识Fiddler脚本编辑器 Fiddler脚本编辑器是修改和扩展Fiddler功能的核心工具,通过编写C#或Ja

gitblog_00497的博客 351

【数据集6】全球人工不透水面积GAIA(清华数据)

全球人工不透水面GAIA简介及其应用

WW、forever的博客 3803
上一篇: my frist app project(第一个app项目)
下一篇: 博文收藏,便于后续查找
Test-huhy
博客等级 码龄12年 740粉丝 17原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值