{
  "language": "zh-Hans",
  "catalogVersion": "3.0",
  "scoringPolicy": "catalog-score-4.0.1",
  "application": "WiFi Doctor",
  "url": "https://zorosoft.net/wifi-doctor/zh/diagnostics/",
  "interpretationNote": "这些数值反映 WiFi Doctor 的评估规则，并非适用于所有情况的保证。请结合报告中的设备、网络、测量时间及数据限制理解结果。数据不可用并不意味着检查失败。",
  "sampleResults": {
    "url": "https://zorosoft.net/wifi-doctor/diagnostics/samples.json",
    "outputLanguage": "en",
    "inputType": "synthetic",
    "description": "这些示例展示应用的输出格式。它们是用于说明的场景，并非对您网络的实际测量。"
  },
  "aliases": {
    "W70-2100": "W70-210",
    "W30-1200": "W30-120",
    "W10-0100": "W10-010",
    "W10-0200": "W10-020",
    "W10-0300": "W10-030",
    "W10-0400": "W10-040",
    "W10-0500": "W10-050",
    "W10-0600": "W10-060",
    "W10-0700": "W10-070",
    "W10-0800": "W10-080",
    "W10-0900": "W10-090",
    "W10-1000": "W10-100",
    "W10-1100": "W10-110",
    "W10-1200": "W10-120",
    "W10-1300": "W10-130",
    "W10-1400": "W10-140",
    "W10-1500": "W10-150",
    "W20-0100": "W20-010",
    "W20-0200": "W20-020",
    "W20-0300": "W20-030",
    "W20-0400": "W20-040",
    "W20-0500": "W20-050",
    "W20-0600": "W20-060",
    "W20-0700": "W20-070",
    "W20-0800": "W20-080",
    "W20-0900": "W20-090",
    "W30-0100": "W30-010",
    "W30-0200": "W30-020",
    "W30-0300": "W30-030",
    "W30-0600": "W30-060",
    "W30-0700": "W30-070",
    "W30-0900": "W30-090",
    "W30-1000": "W30-100",
    "W40-0100": "W40-010",
    "W40-0200": "W40-020",
    "W40-0300": "W40-030",
    "W40-0400": "W40-040",
    "W40-0600": "W40-060",
    "W40-0700": "W40-070",
    "W50-0100": "W50-010",
    "W50-0200": "W50-020",
    "W50-0300": "W50-030",
    "W50-0400": "W50-040",
    "W50-0500": "W50-050",
    "W50-0600": "W50-060",
    "W50-0800": "W50-080",
    "W50-1100": "W50-110",
    "W50-1200": "W50-120",
    "W60-0100": "W60-010",
    "W60-0200": "W60-020",
    "W60-0300": "W60-030",
    "W60-0400": "W60-040",
    "W60-0500": "W60-050",
    "W60-0600": "W60-060",
    "W70-0100": "W70-010",
    "W70-0300": "W70-030",
    "W70-0400": "W70-040",
    "W70-0700": "W70-070",
    "W70-0800": "W70-080",
    "W70-1000": "W70-100",
    "W70-1100": "W70-110",
    "W70-1300": "W70-130",
    "W70-1500": "W70-150",
    "W70-1600": "W70-160",
    "W70-1700": "W70-170",
    "W70-1900": "W70-190",
    "W70-2000": "W70-200",
    "W80-0100": "W80-010",
    "W80-0300": "W80-030",
    "W80-0400": "W80-040",
    "W80-0600": "W80-060",
    "W80-0700": "W80-070",
    "W80-0800": "W80-080",
    "W80-0900": "W80-090",
    "W80-1000": "W80-100",
    "W90-0100": "W90-010",
    "W90-0200": "W90-020",
    "W90-0300": "W90-030",
    "W90-0400": "W90-040",
    "W90-0500": "W90-050",
    "W90-0600": "W90-060",
    "W90-0700": "W90-070",
    "W90-0800": "W90-080"
  },
  "stages": [
    {
      "id": "W10",
      "title": "设备状态"
    },
    {
      "id": "W20",
      "title": "Wi-Fi 连接"
    },
    {
      "id": "W30",
      "title": "无线链路"
    },
    {
      "id": "W40",
      "title": "无线信道"
    },
    {
      "id": "W50",
      "title": "LAN 连接"
    },
    {
      "id": "W60",
      "title": "WAN 连接"
    },
    {
      "id": "W70",
      "title": "互联网访问"
    },
    {
      "id": "W80",
      "title": "网络性能"
    },
    {
      "id": "W90",
      "title": "诊断结论"
    }
  ],
  "diagnostics": [
    {
      "id": "W10-010",
      "stage": "W10",
      "title": "设备 Wi-Fi 支持",
      "what": "设备是否具备诊断此网络所需的 Wi-Fi 功能。",
      "measures": "Wi-Fi 支持情况，以及 Wi-Fi 诊断的前提条件是否满足。",
      "purpose": "在解读后续连接结果之前，确认 Wi-Fi 检查能够有效进行。",
      "interpretation": "已确认不支持 Wi-Fi 属于严重的前提条件缺失。无法读取状态表示数据不可用，不代表网络故障。"
    },
    {
      "id": "W10-020",
      "stage": "W10",
      "title": "Wi-Fi 开关状态",
      "what": "设备的 Wi-Fi 无线功能是否已开启并可进行连接。",
      "measures": "当前 Wi-Fi 电源状态：开启、关闭或正在切换。",
      "purpose": "解释 Wi-Fi 关闭时为何无法继续诊断。",
      "interpretation": "开启状态可用于连接。已确认关闭属于严重问题；正在开启、关闭或状态未知时，结论不明确，并非已确认故障。"
    },
    {
      "id": "W10-030",
      "stage": "W10",
      "title": "网络标识与会话分段",
      "what": "报告中的 Wi-Fi 网络身份及各个独立连接时段。",
      "measures": "网络名称、接入点、频率、路由变化及观测对应的时间分段。",
      "purpose": "比较连接质量时，区分不同网络或接入点的结果。",
      "interpretation": "接入点或网络变化属于背景信息，不一定是故障。不同分段的测量结果不应混合。"
    },
    {
      "id": "W10-040",
      "stage": "W10",
      "title": "实际互联网路径",
      "what": "应用当前用于 互联网 流量的网络路径。",
      "measures": "当前路径使用 Wi-Fi、移动数据、VPN 还是未知传输方式。",
      "purpose": "明确测量描述的是哪条连接，尤其是在多条路径可用时。",
      "interpretation": "不同路径可能产生不同结果。仅使用移动数据或 VPN 不属于 Wi-Fi 故障，也不会扣分。"
    },
    {
      "id": "W10-050",
      "stage": "W10",
      "title": "VPN 与测量限制",
      "what": "VPN 路由或网络策略对本次测量的限制。",
      "measures": "是否存在 VPN、相关路由信息，以及被当前网络策略限制的检查。",
      "purpose": "区分无法测量的连接路径与确实发生故障的连接。",
      "interpretation": "受限制的检查表示不可用，不表示失败。结果仅描述已测路径，不一定代表直接 Wi-Fi 访问。"
    },
    {
      "id": "W10-060",
      "stage": "W10",
      "title": "代理与 PAC",
      "what": "与连接关联的代理或自动代理配置。",
      "measures": "代理主机与端口、自动配置信息，以及这些设置适用的路由。",
      "purpose": "为必须经过代理才能到达目标的请求提供背景信息。",
      "interpretation": "配置了代理并不代表故障。连接或身份验证问题需要相应的实测证据。"
    },
    {
      "id": "W10-070",
      "stage": "W10",
      "title": "DNS 与私人 DNS 配置",
      "what": "此连接用于解析主机名的 DNS 与私人 DNS 设置。",
      "measures": "已配置的 DNS 服务器、私人 DNS 模式及相关解析器配置。",
      "purpose": "帮助解读后续域名解析结果，区分配置与实测 DNS 行为。",
      "interpretation": "仅凭设置无法判定 DNS 故障。实际查询结果决定解析成功还是失败。"
    },
    {
      "id": "W10-080",
      "stage": "W10",
      "title": "权限与数据访问",
      "what": "WiFi Doctor 是否能访问特定诊断检查所需的信息。",
      "measures": "已授予和缺失的权限，以及受访问限制影响的观测。",
      "purpose": "解释报告缺失字段，并确定此设备上无法评估的检查。",
      "interpretation": "权限被拒绝表示证据有限，不代表 Wi-Fi 质量差，也不会降低连接评分。"
    },
    {
      "id": "W10-090",
      "stage": "W10",
      "title": "电源与网络策略",
      "what": "可能影响观测连接的设备电源与网络策略。",
      "measures": "省电设置、网络限制，以及在这些条件下同时发生的中断。",
      "purpose": "调查断连、暂停或网络使用的意外变化时，提供设备方面的背景。",
      "interpretation": "仅开启省电设置不代表故障。必须观测到连接受到影响，才能将问题归因于该设置。"
    },
    {
      "id": "W10-100",
      "stage": "W10",
      "title": "近期观测",
      "what": "保留的近期观测，用于与当前诊断会话比较。",
      "measures": "此前的事件、信号读数、观测距今时间及监测覆盖空缺。",
      "purpose": "帮助区分反复出现的连接问题与仅在本次测试中出现的现象。",
      "interpretation": "历史记录是辅助证据。监测空缺期间没有记录到问题，不代表连接稳定。"
    },
    {
      "id": "W10-110",
      "stage": "W10",
      "title": "测量有效性",
      "what": "观测是否受到测量活动或不完整采集条件的影响。",
      "measures": "测量时序、主动测试时段及可能影响所解读样本的条件。",
      "purpose": "区分正常网络行为与测试产生流量时的行为。",
      "interpretation": "受影响的观测需要结合背景。缺失或不适用的数据不能自动视为通过、失败或零值测量。"
    },
    {
      "id": "W10-120",
      "stage": "W10",
      "title": "设备时钟与 TLS",
      "what": "设备时钟是否与足够可靠的时间参考不一致。",
      "measures": "设备时间、可用参考时间，以及相关证书或安全连接异常。",
      "purpose": "识别可能解释 HTTPS 证书验证问题的时钟偏差。",
      "interpretation": "只有可靠比较才能支持时钟问题判断。时钟及相关 TLS 问题应视为可能属于同一问题。"
    },
    {
      "id": "W10-130",
      "stage": "W10",
      "title": "系统与证书",
      "what": "与安全连接有关的操作系统与证书背景。",
      "measures": "Android 版本、可用证书信息及观测到的 TLS 兼容性错误。",
      "purpose": "解释有证据支持的平台兼容性影响安全网站访问的情况。",
      "interpretation": "仅 Android 版本较旧不表示故障。兼容性判断需要相应 TLS 错误及适当的对比证据。"
    },
    {
      "id": "W10-140",
      "stage": "W10",
      "title": "DNS / VPN 过滤",
      "what": "可能导致选择性访问问题的 DNS 或 VPN 过滤。",
      "measures": "过滤相关配置，以及部分目标失败而其他访问正常的证据。",
      "purpose": "区分选择性限制与完全失去 互联网 连接。",
      "interpretation": "在阻断得到佐证前，过滤仅是背景信息。单个服务不可访问不代表全部 互联网 访问失败。"
    },
    {
      "id": "W10-150",
      "stage": "W10",
      "title": "设备 Wi-Fi 优化",
      "what": "本次会话中观测到的设备 Wi-Fi 优化行为。",
      "measures": "切换至移动数据、关闭 Wi-Fi 等变化及伴随的中断。",
      "purpose": "当自动连接变化与问题同时出现时，找出值得检查的设备设置。",
      "interpretation": "优化设置或切换网络本身不一定有问题。建议取决于观测行为及其对连接的影响。"
    },
    {
      "id": "W20-010",
      "stage": "W20",
      "title": "当前 Wi-Fi 关联",
      "what": "手机当前是否已关联到预期的 Wi-Fi 接入点。",
      "measures": "Wi-Fi 关联状态、可识别的目标网络及观测到的断连。",
      "purpose": "先确认无线连接，再评估地址配置或 互联网 可达性。",
      "interpretation": "已建立连接即满足此前提。已确认未关联属于严重问题；缺少 IP 设置应由后续检查处理，不属于关联失败。"
    },
    {
      "id": "W20-020",
      "stage": "W20",
      "title": "目标接入点可见性",
      "what": "目标 Wi-Fi 接入点是否出现在可用观测中。",
      "measures": "目标接入点的可见性、观测时间、新鲜度及调查时段的覆盖情况。",
      "purpose": "解释为何难以发现或重新连接某个 Wi-Fi 网络。",
      "interpretation": "新鲜且重复的观测支持可见性判断。权限缺失或反复使用缓存数据，不能证明接入点已消失。"
    },
    {
      "id": "W20-030",
      "stage": "W20",
      "title": "连接时的信号",
      "what": "建立或失去 Wi-Fi 连接时的信号条件。",
      "measures": "信号强度、波动，以及相对连接尝试或失败的发生时间。",
      "purpose": "为连接阶段的问题提供信号背景，并关联详细无线评估。",
      "interpretation": "单次读数只描述当时状态。信号问题在 W30 评估，此处不重复扣分。"
    },
    {
      "id": "W20-040",
      "stage": "W20",
      "title": "支持的频段和信道",
      "what": "设备与网络公布的频段、信道要求之间的兼容性。",
      "measures": "支持的频段、可用信道、公布的信道宽度及相关设备连接能力。",
      "purpose": "发现可能阻止连接目标接入点的明确能力不匹配。",
      "interpretation": "不支持某项强制要求可能解释失败。可协商的信道宽度或较旧的 Wi-Fi 标准本身不能证明不兼容。"
    },
    {
      "id": "W20-050",
      "stage": "W20",
      "title": "安全协议兼容性",
      "what": "网络安全要求与设备及连接配置的兼容性。",
      "measures": "公布的安全模式、身份验证信息，以及可用的企业认证或证书相关连接证据。",
      "purpose": "区分安全设置不兼容与手机无法入网的其他原因。",
      "interpretation": "没有共同支持的安全模式值得关注。缺乏企业认证证据时结论不明确；过渡模式或受保护管理帧本身并非故障。"
    },
    {
      "id": "W20-060",
      "stage": "W20",
      "title": "系统连接错误",
      "what": "加入 Wi-Fi 网络时实际报告的连接错误。",
      "measures": "可用的关联或身份验证错误代码，以及连接尝试失败的阶段。",
      "purpose": "根据已有具体证据描述连接阶段的失败，而非猜测原因。",
      "interpretation": "具体拒绝代码支持具体判断。未发现或无响应不能证明被拒绝或密码错误。"
    },
    {
      "id": "W20-070",
      "stage": "W20",
      "title": "记录的认证失败",
      "what": "已观测到且阻止手机加入 Wi-Fi 的身份验证失败。",
      "measures": "记录的身份验证结果、相关连接尝试，以及随后是否建立连接。",
      "purpose": "识别身份验证失败，同时区分密码错误与其他接入点问题。",
      "interpretation": "未连接时已确认的身份验证失败属于严重问题，但本身不能证明密码错误；缺少证据表示数据不可用。"
    },
    {
      "id": "W20-080",
      "stage": "W20",
      "title": "断连与反复重连",
      "what": "会话中观测到的断连及反复重连行为。",
      "measures": "链路中断次数、断连时长、观测窗口及链路是否恢复。",
      "purpose": "解释关联不稳定，而不把每次接入点变化都当作故障。",
      "interpretation": "至少需要 10 秒覆盖。已恢复中断 1/2/3+ 次扣除 10/20/30%；断连时间占比至少 20% 扣除 40%；仍未连接扣除 50%，除非严重的前提条件问题优先适用。"
    },
    {
      "id": "W20-090",
      "stage": "W20",
      "title": "网络安全",
      "what": "Wi-Fi 网络公开广播的安全特征。",
      "measures": "安全类型，以及开放网络、WEP 或广播支持 WPS 等可用信息。",
      "purpose": "将安全建议与连接质量和速度评估分开。",
      "interpretation": "开放或旧式安全机制可能需要建议，但不会降低连接质量评分。广播支持 WPS 本身不能证明存在漏洞。"
    },
    {
      "id": "W30-010",
      "stage": "W30",
      "title": "接收信号强度",
      "what": "手机接收到的 Wi-Fi 信号强度。",
      "measures": "以 dBm 表示的 RSSI 中位数、有效样本数、观测范围及同一接入点的弱信号观测。",
      "purpose": "识别覆盖薄弱，并评估其是否与实际连接问题同时出现。",
      "interpretation": "dBm 数值越高、越接近零，信号越强。中位数 >=-55 dBm 不扣分；低于 -55/-60/-65/-70/-75/-80/-85/-90/-95 分别扣除 5/10/15/20/25/30/40/45/50%。至少需要两个有效样本；判为错误还须存在访问影响。"
    },
    {
      "id": "W30-020",
      "stage": "W30",
      "title": "信号稳定性",
      "what": "在充分观测期间，接收信号强度的变化程度。",
      "measures": "RSSI 波动，包括第 90 与第 10 百分位之差，单位为 dB。",
      "purpose": "区分持续偏弱的覆盖与随时间显著波动的信号。",
      "interpretation": "P90-P10 差值 <=12 dB 不扣分；>12/>20/>30 dB 扣除 3/6/10%。需要在至少 10 秒内取得五个样本。波动本身不能证明路由器故障。"
    },
    {
      "id": "W30-030",
      "stage": "W30",
      "title": "TX/RX PHY 链路质量",
      "what": "传输数据时观测到的 Wi-Fi 发送和接收链路速率。",
      "measures": "负载下 TX/RX PHY 速率中位数，单位为 Mbps，以及两个方向的差异。",
      "purpose": "识别无线链路性能受限或不对称，避免将链路速率误认为 互联网 下载速度。",
      "interpretation": "负载下 PHY 低于 30/12/6 Mbps 扣除 5/10/15%。若较慢方向低于 100 Mbps，方向速率比 >3/>6/>10 扣除 5/10/15%；采用较大的扣分。空闲或样本不足时不评估。"
    },
    {
      "id": "W30-060",
      "stage": "W30",
      "title": "接入点与频段选择",
      "what": "其他已观测接入点或频段是否可能提供更好的可用连接。",
      "measures": "当前及候选连接的信号、频段、能力，以及观测支持的持续差异。",
      "purpose": "当前接入点较弱或受限时，指出改善连接的机会。",
      "interpretation": "持续更好且受支持的候选项是优化机会，不能证明客户端粘连故障，也不保证提速。"
    },
    {
      "id": "W30-070",
      "stage": "W30",
      "title": "漫游与重新连接",
      "what": "接入点、频段或连接状态的变化及观测到的影响。",
      "measures": "同一时间线上的漫游、频段切换、重连事件及中断。",
      "purpose": "区分正常 Wi-Fi 切换与伴随可测连接损失的切换。",
      "interpretation": "没有观测到中断的切换可能正常。同一次切换的多个症状不应算作多个独立故障。"
    },
    {
      "id": "W30-090",
      "stage": "W30",
      "title": "同名接入点配置",
      "what": "广播相同网络名称的接入点之间的配置差异。",
      "measures": "同名接入点间观测到的安全、能力、频段及其他相关设置。",
      "purpose": "解释在同名网络的接入点之间移动时，为何连接行为不同。",
      "interpretation": "设置差异属于背景信息。同名或配置差异本身不能证明访问不稳定，也不会降低稳定性评分。"
    },
    {
      "id": "W30-100",
      "stage": "W30",
      "title": "各 MLO 链路质量",
      "what": "Wi-Fi 多链路连接中各条链路的可用信息。",
      "measures": "设备能够提供的各链路信号、连接状态、波动及相关比较。",
      "purpose": "解读 MLO 连接中较弱或波动的部分，避免仅孤立判断某条链路。",
      "interpretation": "未使用或未关联的链路不一定是故障。整体影响需要可用数据和适当的连接层面比较。"
    },
    {
      "id": "W30-120",
      "stage": "W30",
      "title": "Wi-Fi 连接能力",
      "what": "手机与所连接接入点支持的 Wi-Fi 链路速率上限。",
      "measures": "已知的最大支持 PHY 速率、构成瓶颈的端点上限及相关信道宽度背景。",
      "purpose": "识别即使信号足够，也会限制可实现 Wi-Fi 速度的连接能力。",
      "interpretation": "已知瓶颈上限 <150 Mbps 扣除 5%；150 至 <300 Mbps 扣除 3%。通过要求两端能力均已知且 >=300 Mbps。能力数据缺失不等于零；PHY 并非 互联网 吞吐量。"
    },
    {
      "id": "W40-010",
      "stage": "W40",
      "title": "扫描时效与覆盖范围",
      "what": "可用 Wi-Fi 信道观测的时效性和完整程度。",
      "measures": "调查距今时间、新鲜度、覆盖范围及影响扫描信息的限制。",
      "purpose": "说明信道建议基于当前观测还是不完整的信息。",
      "interpretation": "新鲜且充分覆盖的数据支持解读。过期或缺失调查数据只是限制，不是连接故障，也不能证明频段为空。"
    },
    {
      "id": "W40-020",
      "stage": "W40",
      "title": "信道可用性",
      "what": "主信道及所选宽度需要的各组成信道是否可用。",
      "measures": "主信道、频率、信道宽度、组成信道及可用的信道使用信息。",
      "purpose": "识别无法满足的信道要求，帮助解读网络实际信道配置。",
      "interpretation": "已知不可用的必要信道值得关注。缺失可用性数据表示未验证；DFS 本身不是故障，邻近网络广播的信道也不能证明测量覆盖范围。"
    },
    {
      "id": "W40-030",
      "stage": "W40",
      "title": "推荐信道与宽度",
      "what": "有证据支持、可能更适合运行的信道和宽度选项。",
      "measures": "观测到的信道条件、候选评分、信道宽度及调查中的可用性证据。",
      "purpose": "利用本地 Wi-Fi 环境中有意义且持续的差异指导信道优化。",
      "interpretation": "证据更充分的选项是建议，而非提速承诺。不能假定未观测频段为空，或赋予其满分质量。"
    },
    {
      "id": "W40-040",
      "stage": "W40",
      "title": "信道竞争与重叠",
      "what": "当前 Wi-Fi 信道周围的竞争与重叠情况。",
      "measures": "当前信道质量评分、信道宽度及新鲜观测中的邻近接入点重叠。",
      "purpose": "识别可能造成无线干扰或性能下降的信道条件。",
      "interpretation": "当前信道评分 >=7 不扣分；<7/<5/<3 扣除 3/6/10%。需要两次新鲜调查。接入点数量本身不能证明连接缓慢。"
    },
    {
      "id": "W40-060",
      "stage": "W40",
      "title": "信道占用与客户端数",
      "what": "接入点广播的信道活动和已连接客户端信息。",
      "measures": "广播的信道利用率百分比、终端数量及不同观测间的变化。",
      "purpose": "提供无线信道繁忙的证据，并区分利用率与连接设备数量。",
      "interpretation": "利用率中位数 <=70% 不扣分；>70/>85/>95% 扣除 3/6/10%。需要在非传输期间的 10 秒内取得三次独立观测。客户端数量本身不扣分。"
    },
    {
      "id": "W40-070",
      "stage": "W40",
      "title": "接入点信道变化",
      "what": "观测期间接入点工作信道的变化。",
      "measures": "已观测的信道切换、接入点可见性、时序及相关连接中断。",
      "purpose": "解释接入点切换信道时的短暂中断或无线条件变化。",
      "interpretation": "信道变化不一定是故障。严重程度取决于观测到的连接影响，同一次切换不应在其他项目重复计分。"
    },
    {
      "id": "W50-010",
      "stage": "W50",
      "title": "IPv4 配置",
      "what": "Wi-Fi 连接是否具有可用 IPv4 地址配置。",
      "measures": "分配的 IPv4 信息、配置获取状态，以及是否存在可用 IPv6 替代路径。",
      "purpose": "区分缺少网络地址与仅 IPv6 连接的正常运行。",
      "interpretation": "已关联且配置完成后仍无可用 IPv4 或 IPv6 地址，扣除 60%。一种可用地址族即可；仅缺少 IPv4 不属于失败。"
    },
    {
      "id": "W50-020",
      "stage": "W50",
      "title": "IPv6 配置",
      "what": "连接的 IPv6 配置是否可用及其作用范围。",
      "measures": "IPv6 地址、可用作用范围及访问本地或 互联网 目标相关配置。",
      "purpose": "解释 IPv6 可用性，避免将有效的仅 IPv4 网络视为故障。",
      "interpretation": "仅 IPv4 运行是有效的。只有链路本地 IPv6 不能证明具备 互联网 配置；实际 IPv6 可达性另行评估。"
    },
    {
      "id": "W50-030",
      "stage": "W50",
      "title": "地址与网络路由",
      "what": "连接是否具有适合目标访问的地址和路由。",
      "measures": "可用 IP 地址、匹配路由、必要时的网关信息及访问正常的证据。",
      "purpose": "识别可能阻止链路外通信的地址或路由缺失、不适用问题。",
      "interpretation": "配置完成后没有可用地址及匹配默认路由，扣除 60%。遥测缺失不代表失败；VPN 正常或已确认 互联网 可用，可避免误判缺少路由。"
    },
    {
      "id": "W50-040",
      "stage": "W50",
      "title": "网关连接",
      "what": "本地下一个跳点是否回应所测类型的请求。",
      "measures": "网关响应观测、可用连接结果，以及流量仍可通过的证据。",
      "purpose": "区分不回应的网关与确实无法使用的本地路径。",
      "interpretation": "回复或拒绝都证明已到达响应方。若转发或 互联网 正常，仅 ping 无回复不能证明网关故障。"
    },
    {
      "id": "W50-050",
      "stage": "W50",
      "title": "网关连接稳定性",
      "what": "本地网关实测响应的稳定性。",
      "measures": "空闲时网关往返时间、无响应比例、尝试次数及回复次数。",
      "purpose": "评估本地响应能力，同时考虑网关可能限制或忽略诊断响应。",
      "interpretation": "RTT >30/>100/>300 ms 扣除 3/5/8%；丢失 >0/>10/>30/>50% 扣除 3/8/12/15%；取较大扣分。需要 10 次尝试和 3 次回复。完全不响应的网关表示数据不可用，不自动判为失败。"
    },
    {
      "id": "W50-060",
      "stage": "W50",
      "title": "网络配置变化",
      "what": "会话期间 IP 配置或网络路由的变化。",
      "measures": "地址、网关、路由或相关配置变化及其与观测连接的关系。",
      "purpose": "解释与网络配置变化同时发生的失败或恢复。",
      "interpretation": "有效变化不自动构成警告。只有伴随异常配置时，多个 DHCP 来源才是调查线索。"
    },
    {
      "id": "W50-080",
      "stage": "W50",
      "title": "IP / 网关异常",
      "what": "提示 IP 地址冲突或网关身份异常行为的证据。",
      "measures": "设备身份、网关变化、地址冲突迹象及相关响应丢失或连接影响。",
      "purpose": "识别有依据的冲突症状，不擅自认定恶意活动或攻击者。",
      "interpretation": "符合条件的网关丢失特征扣除 5%；有影响的重复身份冲突扣除 10%；有影响的当前地址冲突或必需的 IPv6 重复地址检测失败扣除 15%。无影响的身份差异仅作建议。"
    },
    {
      "id": "W50-110",
      "stage": "W50",
      "title": "LAN 设备发现",
      "what": "实际检查的本地设备与服务的可达性和发现情况。",
      "measures": "已测试 LAN 目标的回复、服务发现观测及相关单播或组播比较。",
      "purpose": "调查本地访问限制，并将 LAN 行为与 互联网 连接分开。",
      "interpretation": "成功回复支持本地可达性。仅未发现设备时结论不明确；有意设置的客户端隔离不是 互联网 故障。"
    },
    {
      "id": "W50-120",
      "stage": "W50",
      "title": "上行与回程链路",
      "what": "网络组件之间内部上联或回程链路的证据。",
      "measures": "可用的协商链路信息、受支持遥测及相关本地区段的性能症状。",
      "purpose": "识别潜在内部瓶颈，避免把所有限速都归因于网线或端口。",
      "interpretation": "100 Mbps 链路需要协商链路证据。仅约 90-95 Mbps 的速度上限是症状，不能证明网线或回程链路故障。"
    },
    {
      "id": "W60-010",
      "stage": "W60",
      "title": "路由器与 WAN 路径",
      "what": "诊断实际可获得的路由器及上游路径身份信息。",
      "measures": "可用路由器身份、公网 IP、互联网 提供商或 ASN，以及相关路径背景。",
      "purpose": "解释观测到的拓扑，明确报告描述的上游连接。",
      "interpretation": "身份信息本身既不能证明故障，也不能确认路由器或 WAN 健康。不可用字段应保持未知。"
    },
    {
      "id": "W60-020",
      "stage": "W60",
      "title": "WAN 会话稳定性",
      "what": "路由器 WAN 连接状态及已观测的 WAN 会话中断。",
      "measures": "WAN 状态、会话持续时间或重连、相关错误信息，以及独立测量的 互联网 影响。",
      "purpose": "区分已确认的上游会话问题与路由器状态缺失或单项测试失败。",
      "interpretation": "已确认 WAN 断开且 互联网 受损，扣除 60%。有影响并已恢复的事件 1/2/3+ 次扣除 10/20/30%。路由器遥测缺失表示数据不可用；仅连接状态不能证明 互联网 可访问。"
    },
    {
      "id": "W60-030",
      "stage": "W60",
      "title": "WAN 物理链路",
      "what": "当前网关遥测支持的物理 WAN 链路状态。",
      "measures": "物理链路状态、可用协商速率、重复观测及伴随的 互联网 受损。",
      "purpose": "识别实际的上游物理链路问题，而非仅凭速度推断。",
      "interpretation": "当前物理 WAN 断开且 互联网 受损扣除 60%；有影响且已恢复的断开事件扣除 15%。需要两次相关观测；路由器遥测不可用不代表失败。"
    },
    {
      "id": "W60-040",
      "stage": "W60",
      "title": "WAN 流量",
      "what": "WAN 流量及测量活动之外流量的有据证据。",
      "measures": "可用的上游流量计数、流量变化，以及同时进行的连接质量参考测量。",
      "purpose": "评估其他流量是否与连接或性能下降同时出现。",
      "interpretation": "流量大小本身不是故障。归因于特定设备需要路由器逐客户端信息，影响判断需要同时发生的证据。"
    },
    {
      "id": "W60-050",
      "stage": "W60",
      "title": "路由器资源",
      "what": "能够实际验证的路由器资源或容量状况。",
      "measures": "可用资源遥测及对应的实测访问或性能症状。",
      "purpose": "解释有证据支持的资源问题，不臆测 CPU、内存或连接表故障。",
      "interpretation": "资源判断需要相关遥测和观测到的影响。路由器数据缺失意味着原因未知，而非确认资源问题。"
    },
    {
      "id": "W60-060",
      "stage": "W60",
      "title": "WAN 地址与 NAT",
      "what": "关于上游 NAT 和直接分配公网 IPv4 可用性的地址证据。",
      "measures": "可用 WAN 地址、观测到的公网地址，以及有据的私网地址或上游转换迹象。",
      "purpose": "解释可能影响入站连接或某些应用的网络拓扑。",
      "interpretation": "双重 NAT 或运营商级 NAT 属于拓扑背景，不自动构成 互联网 错误或扣分。地址证据缺失时结论不明确。"
    },
    {
      "id": "W70-010",
      "stage": "W70",
      "title": "网络登录要求",
      "what": "网络是否要求先登录或接受条款，才能正常访问 互联网。",
      "measures": "门户迹象、相关重定向或登录响应，以及独立测量的门户外访问。",
      "purpose": "解释热点、访客网络或需要重新认证的网络为何连接受限。",
      "interpretation": "已确认门户且部分外部访问正常，扣除 20%；阻止外部访问则扣除 60%。仅 Android 门户标记只发出警告，不扣分。"
    },
    {
      "id": "W70-030",
      "stage": "W70",
      "title": "DNS 解析",
      "what": "测量连接上能否将主机名解析为可用地址。",
      "measures": "域名查询成功与失败、地址族可用性，以及不同独立提供商的结果。",
      "purpose": "识别名称解析问题，区分单个主机名不可用与广泛 DNS 故障。",
      "interpretation": "失败比例为 0、最多 1/3、最多 2/3、低于 1 及全部失败时，分别扣除 0/10/20/40/60%。需要三个域名和两个提供商。仅缺少 IPv6 回答不算失败。"
    },
    {
      "id": "W70-040",
      "stage": "W70",
      "title": "DNS 稳定性",
      "what": "重复观测中 DNS 查询成功的稳定性与及时性。",
      "measures": "各域名可比较的成功查询耗时，包括域名中位数的中位数，单位为毫秒。",
      "purpose": "显示名称解析延迟是否可能导致初始访问缓慢。",
      "interpretation": "DNS 耗时中位数 <=500 ms 不扣分；>500/>1000/>2000 ms 扣除 2/5/8%。需要两个域名，每个有三个成功且可比较的样本。此测量不能单独分离服务器处理时间。"
    },
    {
      "id": "W70-070",
      "stage": "W70",
      "title": "直接 IP 参照检测",
      "what": "与 DNS 结果一同参考的已知地址可达性。",
      "measures": "直接 IP 参考结果，以及对应的主机名解析或其他访问观测。",
      "purpose": "区分解析层问题与更广泛的目标或网络路径问题。",
      "interpretation": "DNS 失败而 IP 访问正常支持 DNS 问题判断。仅参考目标失败不能证明 互联网 完全中断。"
    },
    {
      "id": "W70-080",
      "stage": "W70",
      "title": "IPv4 / IPv6 连接",
      "what": "已配置 IPv4 与 IPv6 路径的实际可达性比较。",
      "measures": "各地址族结果、已配置地址族的可用性及独立提供商之间的比较。",
      "purpose": "发现部分失效的 IP 地址族，同时不处罚只提供一种可用地址族的网络。",
      "interpretation": "已配置的一族部分或完全失败，而另一族正常，扣除 5/10%；需要两个提供商。未配置的地址族不扣分。"
    },
    {
      "id": "W70-100",
      "stage": "W70",
      "title": "TCP 连接",
      "what": "TCP 连接能否到达所测的具体目标和端口。",
      "measures": "连接成功、失败、拒绝，以及独立目标中的域名失败比例。",
      "purpose": "识别传输层访问问题，区分广泛失败与单个目标的响应。",
      "interpretation": "域名失败比例 <=1/3、<=1/2、<0.8、<1 及全部失败时，分别扣除 0/10/25/45/60%。需要三个域名和两个提供商。连接被拒绝仍证明存在响应。"
    },
    {
      "id": "W70-110",
      "stage": "W70",
      "title": "TLS 验证",
      "what": "安全连接能否成功完成 TLS 与证书验证。",
      "measures": "TLS 错误、证书验证结果、受影响的独立提供商及成功 HTTPS 对比。",
      "purpose": "解释安全连接失败，包括与设备时钟或证书有关的问题。",
      "interpretation": "孤立 TLS 失败仅警告，不扣分。两个独立提供商受影响时，若其他 HTTPS 正常则扣除 20%；若 TCP 成功后所有适用 TLS 尝试均失败，则扣除 60%。"
    },
    {
      "id": "W70-130",
      "stage": "W70",
      "title": "HTTP / HTTPS 响应",
      "what": "能否通过 HTTP 或 HTTPS 访问 互联网 目标。",
      "measures": "网页连接结果、响应可用性、域名失败比例及独立提供商覆盖。",
      "purpose": "区分不可达路径与门户行为、服务限制或远程服务器错误。",
      "interpretation": "传输失败比例 <=1/3、<=1/2、<0.8、<1 及全部失败时，分别扣除 0/10/25/45/60%。需要三个域名和两个提供商。有效 HTTP 错误响应仍证明目标可达。"
    },
    {
      "id": "W70-150",
      "stage": "W70",
      "title": "设备互联网状态",
      "what": "Android 的 互联网 状态指示与实测访问是否一致。",
      "measures": "系统验证或门户状态、当前路由，以及独立提供商的成功网页响应。",
      "purpose": "解释设备连接标签与观测 互联网 访问不一致的情况。",
      "interpretation": "同一活动路由上两个提供商的 HTTP 成功但系统状态不符，扣除 5%，除非已归入访问或门户问题。验证绝不保证所有服务可用。"
    },
    {
      "id": "W70-160",
      "stage": "W70",
      "title": "常用服务访问",
      "what": "各常用服务的访问情况与独立正常参考目标的比较。",
      "measures": "服务域名结果、受影响的访问层、域名失败比例及对比服务可用性。",
      "purpose": "发现选择性访问问题，避免将单一服务限制当作完全断网。",
      "interpretation": "域名失败比例 <=10%、<=30%、<=50% 及更高时，分别扣除 0/3/6/10%。需要五个域名和两个提供商。服务器错误或服务策略限制不属于客户端传输失败。"
    },
    {
      "id": "W70-170",
      "stage": "W70",
      "title": "VPN / 代理路径",
      "what": "实际使用的 VPN 或代理路径上的连接与身份验证行为。",
      "measures": "路由结果、代理响应、要求认证的响应及独立对照访问。",
      "purpose": "解释中间路径上的实测问题，区分测量不受支持与实际失败。",
      "interpretation": "已应用代理反复返回且已确认 HTTP 407，若部分访问可用则扣除 20%；若所有对照访问被阻断则扣除 60%。不受支持的配置仍视为不可用。"
    },
    {
      "id": "W70-190",
      "stage": "W70",
      "title": "UDP 连接",
      "what": "所测 UDP 服务是否在响应截止前回复。",
      "measures": "已发送 UDP 请求、收到的回复、超时无响应率及可用服务提供商之间的比较。",
      "purpose": "结合 TCP 与其他访问结果，调查特定协议的响应问题。",
      "interpretation": "排除单个独立不响应提供商后，无响应率为 0、<=20%、<=50%、>50% 时，分别扣除 0/5/10/15%。需要五次请求和一次回复。两个提供商均不响应不能证明遭到阻断。"
    },
    {
      "id": "W70-200",
      "stage": "W70",
      "title": "路由跟踪",
      "what": "通往可访问网站的路径上已观测到的响应跳点。",
      "measures": "返回的跳点信息、相关 ICMP 错误、追踪完整性和目标可达性。",
      "purpose": "提供路径背景，不猜测无响应跳点的故障位置。",
      "interpretation": "到达目标不扣分；受支持且已完成的追踪未到达目标，扣除 5%。不单独处罚无响应中间跳点；不支持或取消的追踪视为不可用。"
    },
    {
      "id": "W70-210",
      "stage": "W70",
      "title": "互联网连接优先级",
      "what": "已连接 Wi-Fi 的 互联网 访问得到验证时，手机是否仍优先使用移动数据。",
      "measures": "活动默认传输方式、已连接 Wi-Fi 路径及独立提供商上的 Wi-Fi 访问成功情况。",
      "purpose": "指出可能导致用户未使用正常 Wi-Fi 的连接偏好。",
      "interpretation": "已确认 Wi-Fi 正常但仍优先移动数据，扣除 3%。混合、VPN、未知、门户或观测不足的路径均结论不明确。结果不能确定 Android 选择移动数据的原因。"
    },
    {
      "id": "W80-010",
      "stage": "W80",
      "title": "空闲互联网延迟",
      "what": "连接未承受测试负载时，选定 互联网 目标的响应延迟。",
      "measures": "空闲往返时间（毫秒）、中位数、可用的高百分位信息、尝试与回复次数及测量窗口。",
      "purpose": "建立响应性基线，用于比较后续流量负载下的延迟增长。",
      "interpretation": "RTT 中位数 <=300 ms 不扣分；>300/>600/>1000 ms 扣除 5/10/20%。需要同一路径上 10 次尝试和 3 次回复。仅延迟高并不代表断网。"
    },
    {
      "id": "W80-030",
      "stage": "W80",
      "title": "短时下载测速",
      "what": "短时受控传输中实际观测到的有效下载吞吐量。",
      "measures": "接收数据量、传输时长及实测下载吞吐量，单位为 Mbps。",
      "purpose": "提供实际下载表现的快照，不声称代表 互联网 套餐的最高速度。",
      "interpretation": ">=20 Mbps 扣除 0%；5 至 <20 扣除 5%；1 至 <5 扣除 10%；>0 至 <1 扣除 20%。被限速或无效的测量视为不可用，不是 0 Mbps。"
    },
    {
      "id": "W80-040",
      "stage": "W80",
      "title": "负载延迟与恢复",
      "what": "下载或上传期间响应延迟的增幅及之后的恢复。",
      "measures": "同一路径的空闲和负载 RTT 中位数、两者比值、传输方向及恢复观测。",
      "purpose": "识别负载下性能退化，不将短暂正常测试视为不存在拥塞的证明。",
      "interpretation": "下载比值区间 >2.5-5、>5-15、>15 分别要求负载 RTT >200/500/1000 ms，才扣除 3/5/10%。上传区间 >3.5-7、>7-20、>20 要求 >300/600/1500 ms。取两个方向中较大的扣分；不满足所在区间的绝对阈值时，不回退到较低区间。"
    },
    {
      "id": "W80-060",
      "stage": "W80",
      "title": "上传速度",
      "what": "短时传输中基于确认接收数据的有效上传吞吐量。",
      "measures": "已确认上传量、传输时长及实测上传吞吐量，单位为 Mbps。",
      "purpose": "描述上行性能，不将发送方进度当作已成功接收的证据。",
      "interpretation": ">=5 Mbps 扣除 0%；1 至 <5 扣除 5%；0.25 至 <1 扣除 10%；>0 至 <0.25 扣除 20%。被限速或未确认的结果视为不可用，不是 0 Mbps。"
    },
    {
      "id": "W80-070",
      "stage": "W80",
      "title": "传输稳定性",
      "what": "数据传输有效部分中的波动与暂停。",
      "measures": "连续无数据时段，以及可比较窗口中相对于中位数的吞吐量波动。",
      "purpose": "解释整体平均速度尚可、但过程中暂停或波动的传输。",
      "interpretation": "连续无数据至少 1/2/3 秒扣除 5/10/15%。覆盖充分时，(P90-P10)/P50 >1/>2 扣除 3/5%；取较大扣分。排除测量暂停和未完成上传。"
    },
    {
      "id": "W80-080",
      "stage": "W80",
      "title": "响应丢失与抖动",
      "what": "缺失的 ping 回复，以及相邻成功响应时间之间的变化。",
      "measures": "超时无响应百分比、抖动（毫秒）、抖动与中位数之比及辅助访问证据。",
      "purpose": "在平均延迟之外评估一致性，同时考虑目标可能不可靠地回应 ping。",
      "interpretation": "丢失 >0/>10/>20/>40/>60/>80% 在证据佐证下扣除 5/10/20/30/40/50%；单个无佐证目标最多扣除 5%。抖动 >20 ms 且比值 >0.25/>0.5/>1 时扣除 3/5/8%；取较大扣分。ping 不响应但网页正常，不代表断网。"
    },
    {
      "id": "W80-090",
      "stage": "W80",
      "title": "后台流量与温度",
      "what": "伴随实测性能下降的设备温度及后台流量背景。",
      "measures": "Android 热状态、可比较吞吐量变化及同一路由上已验证的流量占比。",
      "purpose": "识别有据的设备侧条件，说明其可能对速度或稳定性结果的影响。",
      "interpretation": "严重热状态持续至少 5 秒扣除 5%；中等热状态或后台流量占比 >=50%，同时吞吐量下降 >=30%，也扣除该比例。仅电池温度不能证明设备因发热降低性能。"
    },
    {
      "id": "W80-100",
      "stage": "W80",
      "title": "参照目标比较",
      "what": "实际测量的参考目标及路径之间的性能差异。",
      "measures": "各目标可比较的延迟或吞吐量观测，以及相关连接背景。",
      "purpose": "说明性能症状是普遍存在，还是更多局限于被测路径。",
      "interpretation": "差异属于背景信息，不单独扣分。吞吐量低于 Wi-Fi 链路速率，或仅出现约 90-95 Mbps 平台值，不能识别故障组件。"
    },
    {
      "id": "W90-010",
      "stage": "W90",
      "title": "异常复核",
      "what": "观测异常是否持续、恢复，或仅限于某个目标。",
      "measures": "重复发现、成功对比、恢复时间及所需证据是否可用。",
      "purpose": "区分反复问题与临时中断，同时保留事件历史。",
      "interpretation": "后来的成功不会抹去先前失败。未满足的前提和未执行的检查，不是额外网络故障。"
    },
    {
      "id": "W90-020",
      "stage": "W90",
      "title": "信号与连接关联",
      "what": "Wi-Fi 信号变化与连接或性能问题在时间上的关系。",
      "measures": "信号强度波动、连接症状、对应时间及佐证观测。",
      "purpose": "判断无线链路问题是否是连接质量下降的有据解释。",
      "interpretation": "事件同时发生可增加可信度，但本身不能证明因果。信号扣分留在 W30，此处不再重复。"
    },
    {
      "id": "W90-030",
      "stage": "W90",
      "title": "漫游与中断关联",
      "what": "漫游、频段变化、重连与服务中断的关系。",
      "measures": "切换时序、中断时序、反复切换及事件前后观测。",
      "purpose": "解释 Wi-Fi 切换是否与明显连接问题同时发生。",
      "interpretation": "没有测得中断的切换不是故障。同一次切换的多种后果仍视为同一事件。"
    },
    {
      "id": "W90-040",
      "stage": "W90",
      "title": "配置与故障关联",
      "what": "网络配置变化与失败或恢复的时间对应关系。",
      "measures": "地址或路由变化、访问结果、恢复时间及可用比较证据。",
      "purpose": "识别配置相关假设，同时保留对根本原因的不确定性。",
      "interpretation": "相关性可支持调查，但确认因果需要更强证据。相关地址问题会合并，不重复扣分。"
    },
    {
      "id": "W90-050",
      "stage": "W90",
      "title": "故障定位",
      "what": "报告证据能够支持的、最具体受影响网络部分。",
      "measures": "综合 Wi-Fi、本地地址、网关、互联网 路径及各服务结果。",
      "purpose": "将排障聚焦于有证据支持的范围，避免更换无关设备或修改无关设置。",
      "interpretation": "网关之外的问题不自动证明 ISP 或路由器是原因。路由器遥测缺失不会使其他实测结果失效。"
    },
    {
      "id": "W90-060",
      "stage": "W90",
      "title": "证据可信度",
      "what": "现有证据对报告结论的支持程度。",
      "measures": "完成和不可用的检查、证据覆盖、有据判定及评估缺失信息。",
      "purpose": "明确不确定性，避免用户和 AI 工具把不完整测试当作完美连接。",
      "interpretation": "N/A 既非通过也非失败，不扣分。少量检查通过不代表满分；核心证据缺失可能导致评分不可用。"
    },
    {
      "id": "W90-070",
      "stage": "W90",
      "title": "结论与建议",
      "what": "报告汇总的问题、支持证据及建议后续操作。",
      "measures": "独立发现、相关证据、已恢复事件，以及避免重复计算同一原因的建议。",
      "purpose": "把测量转为简洁排障摘要，同时区分独立问题与建议说明。",
      "interpretation": "一个 DNS 问题不能变成多个未执行的传输检查失败。已恢复事件仍被记录；安全或优化建议不自动降低稳定性评分。"
    },
    {
      "id": "W90-080",
      "stage": "W90",
      "title": "报告汇总",
      "what": "会话结果及其观测背景的最终摘要。",
      "measures": "有据结论、原始错误、验证时间、恢复状态及重要剩余不确定性。",
      "purpose": "帮助用户和 AI 工具理解报告已确定的内容，以及需要继续调查的事项。",
      "interpretation": "改变前后的实测改善本身不能证明改变导致改善。未再次出现的症状可能仍需继续观察。"
    }
  ]
}
