qnet 中文文档 下载 App

协议控制与 IP 控制:把弱网精确到 TCP/UDP/DNS/ICMP 和指定地址

默认情况下弱网对全部流量生效。但不少测试问题需要「只坏某一种协议」或「只坏某台服务器」——比如验证 DNS 解析失败的降级、只对游戏服务器注入延迟。QNET 提供协议与 IP 两层过滤,2.0 起全面支持。

协议控制:四种协议按位或

协议控制支持 TCP、UDP、DNS、ICMP 四种协议的分别控制,编号为 1、2、4、8,多选时按位或相加:

值含义
1仅 TCP
2仅 UDP
4仅 DNS
8仅 ICMP
3TCP + UDP
15全部协议(默认值)

模板编辑页提示里的「弱网控制协议 TCP:1.UDP:2.ALL:3」指的就是这套编号。全部协议的默认值 15 = 1+2+4+8。

按协议分层的实战场景

IP 控制:多地址竖线分隔

IP 列表参数可以指定弱网只对目标 IP 生效,多个 IP 用竖线「|」分隔;留空表示全局生效。典型用法:

  1. 从被测应用的实际请求里拿到服务器 IP(抓包可得,见pcap 文件与 Wireshark 分析);
  2. 填入 IP 列表,其余流量不受影响;
  3. 组合「仅 UDP + 游戏服务器 IP」就能精确复现「只有对战卡」的用户反馈。

adb 里的对应键值

协议控制在指令行是 protocol 参数,IP 过滤是 ip_list 参数,类型均为 int/字符串,完整取值见adb 参数速查表;指令组合示例见动态更新弱网参数。

分层过滤的价值在于「控制变量」:一次只坏一层,问题定位才不会发散。