设备网络调试完全指南

# 设备网络调试完全指南

> 文档目的: 考虑了meta系列的头显的**特殊网络环境**和头显设备的弱网测试,并设计了一系列措施, 主要是为了方便后续的测试人员能够**按照文档**进行**实际操作**,并得到**可靠的测试结果**

---

## (一)Clash-Tun模式-头显科学上网

对于不遵循系统代理的软件,开启 TUN 模式将在电脑设置一个虚拟网卡,接管其流量并交由 CFW 处理,在 Windows 中,TUN 模式性能比 TAP 模式好

### 本地环境配置说明

| 项目 | 说明 |
|------|------|
| 头显型号 | Meta Quest 1 |
| 电脑系统 | win11 |
| 软件版本 | Clash for Windows v0.20.18 |
| 软件下载路径 | `\\192.168.1.15\Shared\Software\Clash` |

> 实现效果: 连接热点的任何设备可以正常科学上网

### 操作步骤

#### 1. Clash安装Tun驱动

在**General**菜单中找到**Service Mode**选项,点击**Manage** > **Install**

安装成功后右侧小地球应变为绿色

#### 2. 设置并开启**CFW TUN**

点击**TUN Mode**, 旁边的齿轮 > **Reset** > **Save**

**DNS Servers**

```plain
223.5.5.5
119.29.29.29
```

**Fallback DNS Servers**

```json
8.8.8.8
tls :// dns.rubyfish.cn:853
https://1.1.1.1/dns-query
```

最后将**TUN MODE**选项右侧的开关打开即可

#### 3. 验证TUN模式

打开**控制面板>网络Internet>网络和共享中心>**左侧**更改适配器设置**,找到名称为**Clash**且描述为**Clash Tunnel**的适配器,如果显示已启用,说明TUN模式成功开启

> 如果clash设置完后没有出现TUN适配器, 或开启网络共享之后, 适配器消失, 左下角显示Disconnected等情况, 尝试重启电脑, 具体操作细节见: https://ocguide.eyw015.com/quest-guide/udp-hotspot/v-netcard/cfw/clash-tun

#### 4. 本地电脑开通热点

**设置** > **网络和Internet** > **移动热点**

设置热点名称和密码, 启动热点即可

返回**控制面板**, 会找到名称为**本地连接2**的WIFI热点网络适配器, 说明热点成功开启

#### 5. 虚拟网卡配对热点

右键点击**Clash Tunnel**虚拟网卡, 进入**属性**, 点击**共享**

将**Internet连接共享**的两个选项都勾选, 选择**家庭网络连接的网卡**为**本地连接2**

点击**确认**即可完成配对

#### 6. 头显连接热点

重启下TUN模式和热点

可以用手机测试一下连接是否成功, 测试网站: https://www.google.com/

测试成功后使用头显连接热点即可

---

## (二)网络抓包

### (1) wireshark

- **官方文档: https://www.wireshark.org/docs/wsug_html_chunked/index.html**

> 备注说明: wireshark无法捕获https数据包

### (2) fiddler

- **官方文档: https://www.telerik.com/support/fiddler-classic**
- **相关资料:** [**fiddler教程.pdf**](https://genhaosan.feishu.cn/file/LNl8b0TN5oazMpxFFWwcYEcJnsd)

> 备注说明: fiddler仅能捕获http协议的数据包

---

## (三)部署弱网测试

### (1) 弱网定义

#### 弱网环境-参考标准

| 场景 | 网络状况 |
|------|----------|
| 地铁上 | 短时间内,网络延迟波动较大(由5G到2G间切换,持续时间大约4分钟) |
| 火车上 | 长时间处于2G网络内,且有5G运行短时间段 |
| 电梯里 | 由5G/4G到3G/2G运行短时间段后回到5G/4G的环境 |

#### 名词解释

| 名词 | 解释 |
|------|------|
| 上行速率 | 用户电脑向网络发送信息时的数据传输速率 |
| 下行速率 | 网络向用户电脑发送信息时的数据传输速率 |
| 丢包率 | 测试中丢失数据包数量占所发送数据组的比率 |
| 网络抖动 | 网络延时随时都在不停的变化称为抖动(延时的变化称为抖动) |

> 文档参考链接: https://mp.weixin.qq.com/s/8cfUvM3wTgy9WQR5eN7Tbg

### (2) 测试方向

#### 弱网功能测试

1. 根据需求绘制拓扑
2. 根据弱网场景设定弱网条件
3. 在不同网络场景下进行功能评测

#### 网络切换测试/无网状态测试

这部分主要是进行几个不同网络场景的切换,包括WiFi到2G/3G/4G/5G、WiFi到无网、2G/3G/4G/5G到WiFi、无网到2G/3G/4G/5G、无网到WiFi等。主要关注音画质变化与交互异常、尤其是弱网到WiFi、WiFi到弱网的情况,是否会有黑屏、花屏、卡顿、延迟、请求堆积的处理等

#### 弱网模拟指标

| 指标 | 说明 |
|------|------|
| 带宽(吞吐量) | 单位时间内传输的数据量,单位通常是:每秒比特数:bps。带宽反映了网络的传输能力,越大越好。 |
| 丢包 | 网络传输过程中,数据丢包数量=发送数据包数-接收数据包数,稳定传输时,丢包数越少网络越稳定。 |
| 延迟 | 数据包从发送开始到接收到该数据,所耗费的时间,单位通常是ms,时延越小越好。 |
| 乱序 | 指接收到的数据包顺序和发送顺序不一致。乱序反映了网络的稳定性,越少越好。当乱序比较严重的时候,丢包也会比较严重,所以一般都以丢包指标为主,忽略乱序指标。 |
| 报文重复 | 网络传输过程中,接收到相同数据包。 |

#### 用户体验关注

> 影响因素: 卡顿, 延迟, 马赛克, 绿屏花屏, 没有声音, 音画不同步等

### (3) 环境搭建

| 层面 | 工具名称 | 描述 |
|------|----------|------|
| 软件层面 | Fidder | 抓包工具, PC端安装, 作为代理服务器, 设置延迟参数, 模拟不同的网络情况, 无法模拟复杂网络场景 |
| 软件层面 | Charles | 抓包工具(收费), PC端安装, 作为代理服务器, 可以支持延迟, 丢包, 带宽等弱网配置, 弱网配置项只支持HTTP/HTTPS |
| 软件层面 | NEWT | 微软早年推出的弱网测试工具, PC端安装, 作为代理服务器, 支持延迟, 丢包, 带宽等弱网配置 |
| ~~软件层面~~ | ~~QNET~~ | ~~腾讯推出的app, 自动化弱网测试, 支持adb命令驱动, 用户可以编写脚本, 实现自动化弱网测试, 自带真实的全球网络和弱网场景~~ |
| 软件层面 | Clumsy | 专门针对弱网测试的工具, PC端直接使用, 系统级别的网络控制, 可以适用于命令行, 图形界面等任何 Windows 应用程序, 支持延迟, 丢包, 带宽等弱网配置 |
| 软件层面 | Facebook ATC | Facebook推出, 需要部署在Linux系统上, 移动端设备通过浏览器访问就可以切换不同的网络环境, 同时支持多台设备连接 |
| 软件层面 | WANem | 广域网模拟器, 支持从光盘启动, 可以运行于虚拟机上, 也可以直接刷到物理设备上, 虚拟机部署不支持上下行网络设置 |
| 软件层面 | F12开发者工具 | 只适用于web网页的弱网测试, 快捷不需要其他工具辅助, 支持自定义修改上传/下载速度, 延迟设置 |
| 软件层面 | Network Link Conditioner | 苹果提供的弱网模拟工具,支持iOS和Mac系统 |
| 硬件层面 | 路由器 | 进入路由器的管理页面, 直接网络设置修改网络速度(上行速度/下行速度) |
| 硬件层面 | SIM卡(2G/3G/4G/5G) | 设备支持插入不同的SIM卡, 设置移动网络的网络类型选择 |
| 现实场景 | 电梯/地铁/地下停车场 | - |

> \*以上部署思路仅供参考, 具体部署实施需要根据现阶段需求进行安排

### (4) Clumsy(适用于PC本地渲染服测试)

**弱网模拟工具Clumsy官方中文文档说明: https://jagt.github.io/clumsy/cn/index.html**

- **飞书内部下载链接:** [**clumsy-0.3-win64-a.zip**](https://genhaosan.feishu.cn/file/BcYQbcQygocc1KxBadrcuH9Znxc?from=from_copylink)
- **官方下载链接: https://github.com/jagt/clumsy**

#### 产品介绍

**clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。**

简介

利用封装 Winodws Filtering Platform 的[WinDivert 库](https://reqrypt.org/windivert.html), clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用程序在不良网络状况下的表现,clumsy 都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果:

**特色:**

- 下载即用,不需要安装任何东西。
- 不需要额外设置,不需要修改你的程序的代码。
- 系统级别的网络控制,可以适用于命令行,图形界面等任何 Windows 应用程序。
- 不仅仅只支持 HTTP,任何 TCP, UDP 的网络连接都可以被处理。
- 支持本地调试(服务器和客户端都在 localhost)
- "热插拔",你的程序可以一直运行,而 clumsy 可以随时开启和关闭。
- 实时调节各种参数,详细控制网络情况。

#### 参数介绍

**预设(Presets)**,Filter里面提供了一系列内置的预设 Filter 供你使用。你可以通过参考他们来写你自己需要的 Filter,也可以把你发现常用的 filter 写到 clumsy.exe 所在文件夹下的 _config.txt_ 中。

| 参数 | 说明 |
|------|------|
| 延迟(Lag) | 把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。 |
| 掉包(Drop) | 随机丢弃一些数据。 |
| 节流(Throttle) | 把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去。 |
| 重发(Duplicate) | 随机复制一些数据并与其本身一同发送。 |
| 乱序(Out of order) | 打乱数据包发送的顺序。 |
| 篡改(Tamper) | 随机修改小部分的包裹内容。 |
| TCP RST攻击模拟(Set TCP RST) | - |
| 带宽限制(BandWidth) | 通过限制带宽来达到不同级别宽带下的表现。 |

### (5) MyPublicWiFi(适用于头显连接热点)

**热点工具MyPublicWiFi中文官方说明文档: https://mypublicwifi.com/publicwifi/ch/index.html**

- **飞书内部下载链接:** [**MyPublicWiFi.exe**](https://genhaosan.feishu.cn/file/Dyaub2sQ3ovbU2x5S3WcewtqnSh?from=from_copylink)
- **官方下载链接: https://mypublicwifi.com/publicwifi/ch/index.html**

#### 产品介绍

**MyPublicWiFi:将您的计算机变成具有防火墙、URL 跟踪、广告拦截器和带宽管理器的 WiFi 接入点或多功能热点。**

MyPublicWiFi 是一款易于使用的软件,可将您的笔记本电脑/平板电脑/PC 变成 Wi-Fi 无线接入点或多功能热点。 附近的任何人都可以通过您的共享上网。 这也是在酒店房间、会议室、家里等设置临时接入点的理想解决方案。 通过启用用户身份验证,客户将被重定向到您的登录页面,以在访问互联网之前使用访问密码、优惠券代码进行身份验证或接受使用条款。 MyPblicWiFi 防火墙可用于限制用户对特定服务器的访问。 您还可以阻止使用某些互联网服务(例如文件共享程序)或阻止使用社交媒体网络(例如 Facebook)。 MyPublicWiFi 将您的 PC 变成 Adblock 路由器。 广告拦截器是节省互联网带宽和保护用户隐私的有效方法。 **带宽管理器可帮助您控制热点客户端的下载和上传速率(2G/3G/4G/5G)。** MyPublicWiFi 允许您记录和跟踪虚拟 WiFi 热点上所有访问过的 URL 页面。 MyPublicWiFi 允许您设置端口转发,提供 19 种语言版本,无需互联网连接即可使用,并支持"托管网络"和"Windows 10/11 的 WiFi Direct"。

#### 实现逻辑

通过宽带管理器直接控制连接设备的带宽速度以达到弱网测试环境的需求, 具体步骤略, 如下图所示:

---

## (四)问题反馈

评论