本文速览

Shadowrocket(小火箭)的 Data 用于观察客户端所记录的网络用量,不是运营商账单。本文适合需要定位流量去向、核对服务器用量或检查后台请求的用户。读数时先分清上传与下载,再确认统计对象、累计起点和网络类型;按应用归类还要考虑识别能力,不能直接视为系统级逐应用计费记录。

Data 的上传、下载与速率分别表示什么

先在 Shadowrocket 中打开 Data 统计页面。入口位置和分组展示可能随当前界面有所调整,应以实际显示的标签为准。阅读时先区分累计数据量和实时传输速率:前者回答“已经传输了多少”,后者回答“此刻传得多快”。停止加载页面后,速率可以降到接近零,累计数据量却不会因此自动归零。

累计数据量

Upload
从本机向外发送的数据量。
Download
从网络接收到本机的数据量。
Total
在相同对象与时间范围内,上传和下载的合计。
常见单位
KB、MB、GB,或 KiB、MiB、GiB;以页面标注为准。

下载网页也会产生上传请求,上传文件也会收到响应。

即时传输速率

方向
Upload 与 Download 的方向仍以本机为参照。
单位
带 /s 的读数表示每秒传输量,不是累计用量。
换算
1 MiB = 1,048,576 字节;1 MB = 1,000,000 字节。
位与字节
1 B = 8 bit,MB/s 与 Mbps 不能直接等同。

先统一单位,再比较客户端、系统与服务商的记录。

如果同一统计对象显示 Upload 为 2 MiB、Download 为 10 MiB,合计就是 12 MiB。这只是读数示例,不是性能测试。页面可能先对各项数值取整再显示,因此用屏幕上的小数相加,可能与总计末位略有差异。

按服务器统计:看连接使用了哪个出口

按服务器归类,关注的是流量经过的代理出口,而不是发起请求的应用名称。前提是用户已有自己的服务商与连接资料。某个服务器条目的读数增加,说明统计范围内有流量归入该出口;不能据此推断设备上的所有网络活动都经过它。

应用请求 隧道接收 策略判断 出口归类 读数累计

检查 Home → Global Routing。Proxy、Direct、Config、Scene 是不同的路由姿态,不是四种流量统计单位。使用 Config 时,连接会按当前配置匹配规则;Home 中选中的服务器,不一定承载每一条连接。Scene 的实际行为取决于所选场景,不能只看名称判断出口。

例如,规则把某些域名交给 DIRECT,其他连接交给代理出口,这两部分就不应全部算在同一个代理服务器条目里。若页面另列直连统计,也要与代理条目分开阅读。服务器名称被修改、资料被重新导入后,不宜仅凭显示名称认定它与旧记录属于同一个统计对象。

按应用统计:看归类结果,不等同于系统用量

按应用视图用于把客户端能够识别的连接汇总到相应类别。需要区分“依据连接信息归类”和“系统直接提供逐应用字节账单”。在 iPhone、iPad 上,不能假定隧道中的每条连接都能取得可靠的源应用身份;当前页面没有提供的应用维度,也不能从服务器名称反推出。

域名、目标地址与连接特征可帮助理解访问对象,但它们不一定唯一对应某个应用。同一个内容分发域名可能被多个应用使用;同一个应用也可能请求登录、图片、视频和统计等多个域名。出现未知或未归类记录时,应保留这部分数据,不要强行分配给最近打开的应用。

查看维度适合回答的问题不能直接得出的结论
按服务器哪些出口承载了统计范围内的流量?具体是哪一个应用消耗了全部用量。
按应用归类可识别的连接主要集中在哪些应用类别?所有连接均被准确识别,且覆盖系统全部网络活动。
系统蜂窝统计系统在当前统计周期记录了多少蜂窝数据?这些数据全部使用同一个代理出口。

判断方法:用单一操作核对增量

只打开一个待观察应用,记录操作前后读数差值,再对照连接记录中的目标域名与实际策略。先验证归类是否符合这次操作,再用它分析长期分布。

流量何时清零:先确认累计起点

不要把“断开 VPN”“退出应用”“跨过午夜”理解为所有 Data 记录统一清零的条件。当前连接计数、累计统计和连接日志可能具有不同生命周期。断开后的瞬时速率变为零,不代表历史累计已被删除;清空日志也不等于重置所有流量计数。

  1. 在 Data 中确定正在查看的分组。记录时间、条目名称、Upload 与 Download 数值,以及页面是否标明统计周期。
  2. 若当前页面提供 Reset 或清空统计操作,先阅读确认提示,核对作用范围。只重置准备测试的统计,不把清空记录当作日常必需步骤。
  3. 执行后立即返回原分组,确认目标计数是否归零。其他分组未变时,不要据此认为操作失败。
  4. 若没有明确的重置入口,使用“结束读数减开始读数”计算区间用量,不必删除配置或重新安装应用。
  5. 每次比较都保留起止时间。系统蜂窝周期、客户端累计周期和服务商结算周期要分别记录。

例如,开始时 Download 为 120 MiB,结束时为 132 MiB,该区间下载增量就是 12 MiB。若中途发生计数重置,结束值小于开始值,这组差值便失去意义,应重新建立基线。是否持久保存某类累计记录,应根据当前页面说明与实际观察确认,不能把一次重启后的现象推广到所有统计。

为什么 Data 与运营商、服务商账单不同

三类数字回答的问题不同。Data 记录客户端所观察到的流量;运营商记录其网络侧计费用量;用户已有服务商则按自己的规则累计连接服务用量。只有网络类型、时间区间、上下行方向和单位一致时,才有比较基础。

iPhone、iPad 的系统蜂窝用量通常可在系统 Settings → Cellular 中查看,实际名称随系统地区与语言有所不同。这里的当前周期未必与账单月份自动一致。若要手动重置系统统计,先保存原记录;系统的重置操作不会替你同步重置 Shadowrocket 的 Data。

用一次受控操作检查流量是否正常

排查时不需要反复测速。测速本身会生成明显流量,还会掩盖待观察应用的请求。下面的方法用于验证归类和增量,不用于测量协议性能,也不要求修改服务器端口或现有连接参数。

  1. 固定网络:选择 Wi-Fi 或蜂窝中的一种,测试期间保持不变。暂停其他大文件传输,记录当前时间。
  2. 固定路由:记录 Home → Global Routing 当前姿态和生效配置。若使用 Config,确认测试目标预期匹配的策略。
  3. 记录基线:分别记下总览、目标服务器及可用应用分组的上传和下载读数,不必先清零。
  4. 执行一次操作:在待观察应用中加载一个明确页面,等待请求结束,避免连续刷新或同时播放媒体。
  5. 读取差值:回到相同分组,等待界面刷新,再用结束值减去开始值。对照连接记录,确认目标与出口一致。
  6. 检查自动重连:需要暂停观察时,核对 Settings → On Demand。按需连接规则可能重新触发连接,不能只看一次手动断开。

如果重复打开页面时第二次增量更小,先考虑本地缓存,而不是立即判定统计漏记。若没有前台操作仍有少量增长,可查看是否存在后台刷新、通知连接、名称解析或连接保活。仅凭持续小幅增长,不能推断存在异常下载。

常见读数问题与处理顺序

选中的服务器一直是零,是没有连接成功吗?

先检查 Home → Global Routing,再核对连接记录中的实际策略。Config 下的请求可能命中 DIRECT 或其他出口。使用一个确定走目标策略的请求观察增量,不要只凭服务器条目为零判断连接失败。

按应用加起来比总计少,缺的流量去哪了?

先确认分组使用相同累计周期,再查找未归类记录和其他分页。应用识别有边界,部分连接无法可靠归属;不要把这部分差额直接解释为账单错误。

断开之后数字还在,怎样只看今天的用量?

历史累计不会因为速率归零而必然消失。若页面没有明确的当天筛选,记录当天起止读数计算差值;需要使用重置功能时,先确认提示说明的范围并保存旧记录。

下载一个文件,为什么 Data 增量不等于文件大小?

文件大小只是内容体积。请求头、响应头、重试和其他同期连接都可能影响读数;缓存命中又可能减少实际传输。固定网络、暂停其他传输后重新记录差值,再判断差异来源。

分析 Data 的顺序是:先统一时间范围和单位,再核对实际策略,最后查看应用归类与计费口径。需要提交排查信息时,保留起止读数和现象描述即可;分享连接记录前应遮盖服务器地址、认证信息及用户已有订阅的完整链接。