qnet 中文文档 下载 App

QNET 的工作原理:一条 VPN 通道如何注入网络损伤

QNET 的全部能力建立在一个机制上:在设备本地建立一条 VPN 通道,让被测流量先经过工具再出网。官方与第三方测试社区都把它归类为「网络损伤工具」——损伤在手机本地注入,不依赖任何外部设备。

流量路径发生了什么变化

正常路径:应用 → 系统网络栈 → 运营商/ Wi-Fi → 服务器。

开启 QNET 后:应用 → VPN 虚拟网卡(QNET 接管)→ 按模板注入延迟/丢包/限速 → 真实网络 → 服务器。返回的数据包走对称的反向路径,所以上行与下行可以分别配置,这正是模板里上下行参数成对出现的原因,参数细节见网络延时与延时抖动。

为什么不需要 ROOT/越狱

Android 的 VpnService 与 iOS 的 Network Extension 都是系统提供的标准能力:应用征得用户同意后可以获得一条虚拟网卡。QNET 用它做流量转发与整形,全程在用户态完成,不需要修改系统,也不需要修改被测应用的包体。首次启动时的「VPN 权限」弹窗就是这个授权,见首次启动的三道授权。

抓包为什么「顺手就能做」

既然流量本来就要经过 QNET,把转发的数据包落一份盘就是抓包——这也是它免 ROOT 抓包的原理。导出的 pcap 是标准格式,Wireshark 可直接打开,见pcap 文件与 Wireshark 分析。

这个机制带来的三个特性

  1. 全局生效:VPN 位于系统层,默认接管整机流量,也可以按包名过滤只对指定应用生效,见选择被测应用;
  2. 进程必须常驻:QNET 进程一旦被系统或用户清理,VPN 通道随之消失,弱网立即失效,保活要点见后台保活与进程保护;
  3. 有性能开销:所有流量在手机本地多绕一层,对实时音视频等大流量场景的仿真准确性有影响,见音视频卡顿测试的注意事项。

记住「VPN 接管」这一个词,QNET 的很多行为都能推出来:为什么测速会变慢、为什么断网类模板下整机上不了网、为什么杀掉工具弱网就没了。