networkQuality:macOS 中隐藏的网络测试工具(命令行)

这里,我们有一个有趣而强大的工具,即 macOS 12 Monterey 及其更新版本中引入的networkQuality命令。它被用于评估网络质量和诊断潜在的网络问题,主要关注上传下载速度以及网络的响应能力。

运行默认测试

如果你想利用 Network Quality 工具进行测试,只需打开 macOS 中的「终端」应用程序并输入以下命令:

networkQuality -v

执行此命令将触发一系列默认测试,并将结果直观地展示在「终端」窗口中。

networkQuality 测试结果

指标 单位 说明
Plink capacity Mbps 上行速度
Downlink capacity Mbps 下行速度
Uplink bytes transferred 字节 上行传输的字节数
Downlink bytes transferred 字节 下行传输的字节数
Uplink Flow count 次 上行流量计数
Downlink Flow count 次 下行流量计数
Idle Latency 毫秒 空闲延迟
Responsiveness RPM 响应数

RPM 表示每分钟往返次数。响应数越高,表示网络的响应能力越好。

Private Relay 测试

除了基本功能外,Network Quality 工具还为 Apple 的 Private Relay 提供支持。Private Relay 是一项功能强大的服务,通过两个独立的服务器对所有网络流量进行加密和路由,以提供额外的隐私和安全性。要在工具中启用 Private Relay,只需在命令中添加-p开关:

networkQuality -v -p

自定义配置

为了满足个性化需求,你可以根据具体情况自定义 Network Quality 工具的配置。默认情况下,工具通过https://mensura.cdn-apple.com/api/v1/gm/config从 Apple 获取配置文件。但你可以通过使用-C参数指定不同的配置 URL 来进行自定义。

Apple 的默认配置如下:

{ "version": 1,
"test_endpoint": "hkhkg3-edge-bx-014.aaplimg.com",
"urls": {
"small_https_download_url": "https://mensura.cdn-apple.com/api/v1/gm/small",
"large_https_download_url": "https://mensura.cdn-apple.com/api/v1/gm/large",
"https_upload_url": "https://mensura.cdn-apple.com/api/v1/gm/slurp",
"small_download_url": "https://mensura.cdn-apple.com/api/v1/gm/small",
"large_download_url": "https://mensura.cdn-apple.com/api/v1/gm/large",
"upload_url": "https://mensura.cdn-apple.com/api/v1/gm/slurp"
}
}

需要注意的是,Apple 的test_endpoint在请求时可能会变更,会选择一个就近的(不同)服务器,从而减少延迟并分散服务器负载。

比如,如果你有一个位于https://networkquality.example.com/config的自定义配置文件,可以通过以下命令运行 Network Quality 工具,来使用自定义配置:

networkQuality -v -C https://networkquality.example.com/config

通过这个命令,工具将按照自定义配置文件中指定的设置执行测试。要为 Network Quality 工具建立自己的测试服务器,可以在项目的 GitHub 页面上找到详细的文档。

networkQuality 命令参数

USAGE: networkQuality [-C ] [-c] [-d] [-f ] [-h] [-I ] [-k] [-p] [-r host] [-S ] [-s] [-u] [-v]
    -C: Override Configuration URL or path (with scheme file://)
    -c: Produce computer-readable output
    -d: Do not run a download test (implies -s)
    -f: : Enforce Protocol selections. Available options:
        h1: Force-enable HTTP/1.1
        h2: Force-enable HTTP/2
        h3: Force-enable HTTP/3 (QUIC)
        L4S: Force-enable L4S
        noL4S: Force-disable L4S
    -h: Show help (this message)
    -I: Bind test to interface (e.g., en0, pdp_ip0,...)
    -k: Disable certificate validation
    -p: Use iCloud Private Relay
    -r: Connect to host or IP, overriding DNS for initial config request
    -S: Start and run server on specified port. Other specified options ignored
    -s: Run tests sequentially instead of parallel upload/download
    -u: Do not run an upload test (implies -s)
    -v: Verbose output

macOS 中的networkQuality工具是一款强大的命令行实用程序,专注于测量网络连接性能。它不仅可以用于常规网络测试,还支持通过 Apple Private Relay 进行测试而无需购买 iCloud+ 服务,这是一个很方便的功能。

相关资源:

  • networkQuality Wiki
  • PPM 响应性草案 RFC
上一篇 Linus Torvalds 谈 Linux 现状和AI未来
下一篇 Windows PC上的硬盘指示灯闪烁,但未检测到