Fiddler如何进行弱网模拟

以下是使用 Fiddler 进行弱网模拟的详细步骤,帮助您快速模拟低带宽、高延迟、高丢包等网络环境:


步骤 1:启动 Fiddler 并配置全局代理

  1. 启动 Fiddler

    • 打开 Fiddler(需Windows系统),确保代理已启用(右下角显示 Capturing)。

  2. 设置移动设备代理(可选)

    • 若需测试手机APP,需将手机连接到与电脑相同的WiFi,并手动设置代理:

      • IP:电脑的局域网IP(Fiddler顶部显示 Running: [IPv4] 192.168.x.x:8888)。

      • 端口8888(默认)。


步骤 2:启用弱网模拟规则

  1. 打开网络节流功能

    • 点击菜单栏 Rules → Performance → Simulate Modem Speeds

    • 快捷键:直接按 Ctrl + M 切换开关(勾选表示启用弱网模拟)。预设规则说明

    • Fiddler默认的 Simulate Modem Speeds 规则模拟传统调制解调器的低速网络:

      • 延迟:300ms(上行/下行)。

      • 带宽:约 56 Kbps(上行/下行)。

    • 此模式适用于极端弱网场景(如2G网络),但需进一步自定义参数。


步骤 3:自定义弱网参数(高级配置)

  1. 修改节流脚本

    • 点击菜单栏 Rules → Customize Rules(或按 Ctrl + R),打开 CustomRules.js 文件。

    • 找到 OnBeforeRequest 函数中的节流代码段(搜索 m_SimulateModem)。

  2. 调整网络参数

    • 修改以下代码段中的数值(单位为毫秒和字节):

      javascript

      Copy

      if (m_SimulateModem) {
        // 延迟:上行/下行各增加 300ms
        oSession["request-trickle-delay"] = "300"; 
        oSession["response-trickle-delay"] = "300";
        
        // 带宽:限制为 56 KB/s(即 56*1024=57344 B/s)
        oSession["request-trickle-bandwidth"] = "57344"; 
        oSession["response-trickle-bandwidth"] = "57344";
      }
    • 参数说明

      • trickle-delay:每个数据包的延迟时间(单位:毫秒)。

      • trickle-bandwidth:带宽限制(单位:字节/秒)。
        示例:1 Mbps = 125,000 B/s,500 Kbps = 62,500 B/s

  3. 保存并生效

    • 修改后保存文件(Ctrl + S),Fiddler会自动重新加载规则。


步骤 4:验证弱网效果

  1. 测试网页或APP

    • 在浏览器或手机APP中访问任意页面,观察加载速度是否明显变慢。

  2. 查看请求详情

    • 在Fiddler会话列表中选中某个请求,右侧 Statistics 选项卡 会显示实际传输时间和带宽。


步骤 5:创建自定义规则模板(可选)

  1. 保存自定义配置

    • 在 CustomRules.js 中复制修改后的代码段,创建多个条件分支,例如:

      javascript

      Copy

      // 模拟3G网络
      if (m_Simulate3G) {
        oSession["request-trickle-delay"] = "100"; 
        oSession["response-trickle-delay"] = "100";
        oSession["request-trickle-bandwidth"] = "150000"; // ~1.2 Mbps
        oSession["response-trickle-bandwidth"] = "75000";  // ~0.6 Mbps
      }
    • 通过菜单 Rules → Performance 切换不同模板。


常见弱网场景参数参考

场景延迟(ms)下载带宽(B/s)上传带宽(B/s)丢包率(需脚本扩展)
2G网络30057344 (~56 KB/s)573443%-5%
3G网络100150000 (~1.2 Mbps)75000 (~0.6 Mbps)1%-3%
4G弱信号50500000 (~4 Mbps)250000 (~2 Mbps)2%-4%
高延迟卫星1000250000 (~2 Mbps)125000 (~1 Mbps)5%-10%

扩展功能:模拟丢包和乱序

Fiddler默认不支持丢包和乱序模拟,但可通过以下方法扩展:

  1. 自定义脚本注入丢包

    • 在 OnBeforeRequest 中添加随机丢包逻辑:

      javascript

      Copy

      // 随机丢包率5%
      if (Math.random() < 0.05) {
        oSession["ui-color"] = "red";
        oSession.Abort(); // 丢弃请求
      }
  2. 结合第三方工具

    • 使用 Clumsy 或 Network Emulator for Windows Toolkit(NEWT)叠加网络干扰。


注意事项

  1. HTTPS流量捕获

    • 需安装Fiddler根证书(菜单 Tools → Options → HTTPS → Decrypt HTTPS traffic)。

  2. 性能影响

    • 高丢包率或低带宽可能导致测试工具自身卡顿,建议关闭无关流量捕获(Filters)。

  3. 恢复网络

    • 测试完成后,务必取消勾选 Simulate Modem Speeds(按 Ctrl + M)并关闭Fiddler代理。


通过以上步骤,您可以灵活模拟不同弱网场景,验证应用在网络不稳定时的健壮性和用户体验!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值