老柯修机铺

通讯行老师傅的手机软件笔记——每款 App 装过、用过,才敢写下来

QNET 弱网测试问答速查:预设模板到抓包报告的实战整理

项目内容
软件qnet
版本8.9.27
平台Android APK
体积4.58M
分类工具
开发商腾讯科技(成都)有限公司
包名com.tencent.qnet
官网qnet 官网
下载一qnet 下载,qnet 下载
下载二qnet 下载,qnet 下载
文档qnet 文档
介绍针对移动端弱网测试最常用的 QNET 工具,整理一份开发者真正会问的问题清单——从第一次启动的权限授权,到自定义模板、抓包开启、悬浮窗用法,覆盖 6~9 个高频疑问与直接答案。

这是一份把 QNET 日常使用里大家真会问的问题集中起来的速查——省去翻文档的时间,直接给结论。

QNET 是什么、能干嘛、适合谁?

QNET 是腾讯科技(成都)有限公司做的一款移动端弱网测试工具,Android 为主、iOS 也有部分能力。它的核心定位是:让你在自己的手机上模拟各种糟糕的网络环境,看自己开发的 App 在弱网下会不会挂、会不会慢、会不会重连。

简单说,就是一个"手机版的网络调节器"。预设模板已经覆盖了常见场景——4G 边缘、高铁、地铁、丢包、延迟叠加——但真正好用的是自定义模板:所有参数都开放给你组合,建好之后是团队的标准用例资产。

适合谁? 移动端开发者、QA 测试工程师、产品体验经理。如果你在做 App 的网络层开发、想验证弱网容错逻辑、或者要给产品出一份"XX 场景下的加载报告",QNET 是最省事的工具。不需要 ROOT、不需要越狱、不依赖抓包工具,跑就能测。


下面进入 7 组问答速查

Q1:第一次启动,为什么说要过三道授权?少一道会怎样?

第一次启动 QNET 需要三件事全部到位:VPN 通道授权、悬浮窗权限、后台运行/电池白名单。少哪一道都会导致"模板启动了但网络没变差"的典型症状。

VPN 通道是 QNET 的核心——它在手机上建一个虚拟网络接口,所有流量经过这个接口时才会被弱网参数改写。没有 VPN 图标在状态栏亮着,等于整个弱网通道根本没建立。

悬浮窗是控制条和信息条的载体,后台白名单让进程不被系统清理。实测如果装在没有开白名单的小米或华为手机上,锁屏 10 分钟后进程就被干掉,弱网随之中断。

Q2:弱网启动了,但 App 一切正常、网络没变差,怎么排查?

按固定顺序查,五步走完九成能定位:

  1. 看状态栏有没有 VPN 钥匙图标——没有 = VPN 通道没建,回去检查授权;
  2. 进程还活着吗——被划掉或被系统冻结了?别清理后台、加电池白名单;
  3. 生效范围选对了吗——模板开了但被测 App 不在生效列表里?先切「全部应用」验证再慢慢收窄;
  4. 关掉系统的网络优化——部分机型的「智能加速/双通道加速」会和 VPN 通道打架;
  5. 彻底退出 QNET 重开一次——以上都正常仍无效果时,这是最稳的兜底。

有两个容易误判的现象值得单独提醒:一是"时好时坏"可能是你开了周期弱网正在放行时段,或者悬浮窗不小心点了暂停;二是"只有部分 App 变慢"可能是生效范围本来就只勾了那几个——别以为工具坏了。

Q3:预设模板不够用,自定义模板怎么建?

自定义模板是 QNET 的核心能力。两个入口都能建:工作台/网络场景页右上角的「新增」按钮(从零开始),或者推荐模板右下角的「添加」按钮(以官方预设为底稿改参数)。

强烈建议用第二个入口起步——预设的参数组合是官方调过的,改两三个值就能得到想要的效果,省去从零理解每个字段的成本。

点新增后先给模板起名,然后选模板类型:场景模板按客户端地区 + 服务器地区 + 运营商 + 网络类型组合,数据来自官方实测采集;自定义模板则需要你手动逐项填弱网参数。

参数填写建议按这个顺序走,最不容易漏:延时(上下行)→ 带宽限制 → 丢包三件套 → 高级项(协议/IP 过滤、周期弱网、Burst)。填完点右上角保存,选中再启动即可生效。

⚠️ 别搞错参数单位:带宽单位 kbps、随机丢包单位 %、延迟抖动与连续丢包单位 ms、弱网控制协议 TCP:1/UDP:2/ALL:3。单位填错的后果就是"模板参数看起来没问题但效果不对"。

自定义模板入口:工作台与推荐模板的两个位置

Q4:怎么同时抓包?弱网和抓包能一起跑吗?

能。抓包是 QNET 区别于一般弱网工具的看家能力:弱网测试与流量捕获同一时间完成,无需 ROOT/越狱、无需第三方工具。

开启路径很简单:底部切到「设置」页 → 勾选「网络抓包」→ 回工作台启动弱网。注意它下次启动才生效——运行中勾选不会立即开始抓包,需要停止后重新启动。

设置页:网络抓包与悬浮窗开关

完整的生效时序:勾选后启动弱网 → 抓包跟随会话持续 → 停止弱网 → 抓包文件落盘。文件保存路径是 /sdcard/Android/Data/com.tencent.qnet/cache/,标准 pcap 格式,拿出来用 Wireshark 分析就行。

建议抓包和测试报告一起开——两份数据互相印证。比如想验证"丢包真的丢了",开抓包后对比 pcap 里客户端重传的分布就一清二楚。

Q5:控制悬浮窗是干嘛的?三个按钮分别管什么?

控制悬浮窗是 QNET 运行期间浮在所有界面之上的小工具条,让你不离开被测应用就能控制弱网——提频最大的辅助功能。三个按钮各管一件事:

  1. QNet 图标按钮:双击后回到 QNET 应用本体(部分厂商机型不支持双击跳转,退而求其次用任务切换);
  2. 暂停/继续按钮:点击立即切回正常网络,再点回到当前弱网模板继续执行;
  3. 扩展/收缩按钮:展开全部模板列表,方便运行中直接换模板。

暂停/继续按钮是对比测试的神器——想做"同一操作正常网络 vs 弱网各跑一遍"的对比,用暂停/继续比反复启停干净多了:不用重过授权、模板参数保持、报告数据连续。

典型用法是先用温和档跑通流程,再点扩展切到极限档压测,全程不用回工作台。

⚠️ 控制悬浮窗和信息悬浮窗都是 Android 独有,iOS 版暂不支持。iPhone 上只能靠停止/重启弱网来控制,运行状态靠系统 VPN 图标和被测应用的实际表现判断。

Q6:弱网参数里"上下行"和"协议过滤"是什么意思?

上下行是下载方向(下行)和上传方向(上行)分别控制的意思——你可以只限速下载、只限速上传,或者两个方向各设不同的值。比如测试上传场景的弱网影响,就可以只动上行带宽,下行保持正常。

协议与 IP 过滤是更细粒度的控制:你可以让弱网参数只作用于特定协议(比如只影响 DNS,不影响 TCP)或者只作用于特定 IP 段。这个能力在排查"到底是哪一段网络导致的问题"时特别有用——比如你怀疑是 DNS 解析阶段卡,就只给 DNS 加延迟,看 App 的表现是否复现。

填协议过滤时注意协议编号:TCP 是 1、UDP 是 2、ALL 是 3——输错编号等于白设。

Q7:长期用下来,最值得注意的几个坑?

  1. 不要长期让弱网挂着不关——长时间会话会产生较大的抓包文件,注意设备存储余量;同时弱网挂太久可能导致被测 App 的连接池被打满,测试结束后最好重启一下 App 让状态复位。
  2. 系统升级后别慌——部分厂商的系统更新会重置 VPN 或悬浮窗权限,之前跑得好好的模板升级后突然不生效,回去重新走一遍授权流程就好。
  3. adb 自动化记得带 dump_pcap——自动化场景下如果想让脚本也自动抓包,记得在参数里带上 dump_pcap=1,否则自动化运行时默认不抓。
  4. 不要忽略 iOS 用户——控制悬浮窗、信息悬浮窗这些提效功能 iOS 都没有,测试 iOS 版弱网体验的时候要手动切换,别把 Android 的工作流直接套过去。

最后一句总评:如果你在做移动端开发或 QA,QNET 是值得装起来跑的——从预设模板到自定义参数、再到抓包报告的全链路能力,在同类工具里算最省心的一套。

本文为个人基于网络公开资料整理编写,非官方内容,仅供学习交流参考;软件版权归原作者所有,请支持正版;使用过程中遇到问题请查阅官方渠道,本文不承担任何责任。

同类文章

DuckStation 跑 PS1 必繞的幾個坑

以過來人身份盤點 DuckStation 初次上手最容易踩的四個經典坑:遊戲列表空白、金手指無效、多碟存檔亂序、壓縮包掃不出,每個坑都講清症狀、原因和解法。

QzoneArchive 備份實務:先摸清退路再開始歸檔

QzoneArchive 把你的 QQ 空間動態全部存在手機本地 SQLite 裡,支援匯出 HTML 離線閱讀。但換機或卸載前,這些資料怎麼安全帶走?我踩過坑後整理出完整的備份與遷移路徑。