macOS网络诊断工具:内置了什么,缺少了什么
macOS网络诊断工具完整指南:无线诊断、终端命令、Apple在Monterey中移除的内容,以及免费的图形界面替代品。
macOS具备真正的网络诊断能力,但找到它们需要一番摸索。现有的工具分散在"系统设置"、终端和隐藏菜单中。那些本可以让所有人轻松使用的工具已经被移除。以下是完整的情况。
| 功能 | 原版 macOS | 安装 NetUtil 后 |
|---|---|---|
| Wireless Diagnostics | ✓ | ✓ |
| ping / traceroute / dig(终端) | ✓ | ✓ |
| networkQuality | ✓ | ✓ |
| Ping 图形界面 | – | ✓ |
| Traceroute 图形界面 | – | ✓ |
| DNS 查询 / Whois 图形界面 | – | ✓ |
| 端口扫描图形界面 | – | ✓ |
原版macOS覆盖了基础功能,但任何超出连接状态的检查都需要进入终端。NetUtil补充了Apple移除的图形界面工具。
macOS开箱即用的功能
无线诊断
按住Option并点击菜单栏中的Wi-Fi图标,您会看到"打开无线诊断"。大多数Mac用户从未发现这个入口,因为除非您知道这个快捷方式,否则它是不可见的。
打开后,功能相当强大。扫描选项卡显示附近所有接入点及其信道、信号强度和噪音级别。性能监视器会随时间绘制吞吐量和信号质量图表。嗅探器可捕获原始数据包以供在Wireshark中分析。
对于Wi-Fi问题,无线诊断是正确的工具。信道干扰、信号衰减、竞争的接入点:它能呈现所有这些信息。令人沮丧的只是如何找到它。
终端命令
每台Mac都在终端中内置了一套完整的网络诊断工具。这些是已存在数十年的标准Unix实用工具,不会消失。
ping检查主机是否可达:
ping -c 5 google.com
traceroute映射您的Mac和目的地之间的路径,显示途中的每一跳:
traceroute google.com
nslookup和dig处理DNS查询:
nslookup google.com
dig google.com MX
whois获取域名注册信息:
whois google.com
netstat显示活动的网络连接和监听端口:
netstat -an | grep LISTEN
这些工具是有效的。如果您熟悉终端,可以用Mac上已有的工具处理大多数网络诊断。限制在于输出是纯文本,阅读需要实践,而且对于不熟悉命令行的用户来说,这一切都无从访问。
networkQuality
Apple在macOS Monterey中添加了一个名为networkQuality的命令行工具。它测量上传速度、下载速度以及负载下的响应能力:
networkQuality
输出包括RPM(每分钟往返次数),这让您了解连接在视频通话或其他实时应用场景下的表现。这是一个不错的补充,但完全隐藏,除非您已经知道要找它。
系统设置和网络偏好设置面板
“系统设置"显示基本连接状态:Wi-Fi或以太网是否已连接、您的IP地址、信号强度。对于日常"我连上了吗?“的问题,这已经足够。
但它无法帮助您排查任何超出这个范围的问题。
macOS Monterey以来缺少的内容
网络实用工具已消失
Apple在macOS Monterey中移除了"网络实用工具”,结束了其二十多年的可用历史。这款应用在单个图形界面中捆绑了七个工具:Ping、路由追踪、查询(DNS)、Whois、Finger、端口扫描和Netstat。底层功能都没有消失,但界面消失了。
这很重要,因为"网络实用工具"是唯一内置的、面向不想使用终端进行网络诊断的用户的选项。输入主机名,点击按钮,获取结果。简单。这个已经消失了。
带图形界面的端口扫描
“网络实用工具"的端口扫描器没有直接替代品。您可以使用nc(netcat)扫描端口或安装nmap,但没有任何内置的图形界面工具。
# 检查主机上443端口是否开放
nc -zv google.com 443
端口扫描对于验证服务是否运行、测试防火墙规则和调试连接失败非常有用。没有图形界面工具,大多数用户无法使用这项功能。
可读的结果
终端输出功能上可用,但并不易读。路由追踪的输出一行行地滚动过去;Netstat将数百个连接以纯文本形式转储出来;没有列排序、没有高亮显示、没有办法聚焦于重要内容。
macOS给了您数据,但不帮助您解读它。
填补空缺的方案
第三方应用在Apple退出的地方介入了。质量参差不齐,许多只是在相同命令行工具之上的薄薄一层包装,对用户体验没有多少考量。少数是真正构建精良的产品。
在评估Mac网络诊断工具时,最重要的几点:
覆盖范围:它是否拥有所有核心工具?Ping、路由追踪、DNS查询、Whois和端口扫描是必备的。Netstat对开发者和管理员也很有用。
隐私:某些工具,尤其是基于Web的工具,会通过其服务器转发您的查询。这意味着工具运营商可以看到您在扫描哪些主机、查询哪些域名。直接从您的Mac运行查询的本地应用没有这个问题。
原生体验:使用macOS框架构建的应用启动更快、感觉更响应灵敏,在Retina显示屏和Apple Silicon上看起来也更合适。
NetUtil
我们构建NetUtil是为了恢复Apple移除的功能。它包含所有七个经典"网络实用工具"工具:Ping、路由追踪、DNS查询、Netstat、Whois、Finger和端口扫描。所有功能均在本地运行,不向外部服务器发送任何数据。
这款应用是原生SwiftUI,因此结果以整洁的表格和格式化的输出呈现,而不是原始终端文本。它同时支持Apple Silicon和Intel Mac。
NetUtil不会取代无线诊断进行Wi-Fi分析,也没有这个打算。对于诊断到特定主机的慢速连接、检查DNS记录、扫描服务器上的端口或追踪到目的地的网络路径,它就是原版Mac所缺少的东西。
它是免费的。
对于端口相关工作,Portie更进一步:实时监控Mac上每个开放的TCP/UDP端口,按应用分组,并提供可选的远程扫描功能。
哪个工具解决哪个问题
“这台服务器可达吗?” 在终端运行ping hostname,或使用NetUtil的Ping标签页。
“为什么这个连接很慢?” 运行路由追踪。终端可以用,但图形界面更容易发现延迟突增的位置。同时运行networkQuality检查实际带宽。
“我的Wi-Fi有问题” 打开无线诊断(Option点击Wi-Fi图标)。它是分析信号和干扰的最佳工具。
“这台服务器上某个特定端口是否开放?” 这需要第三方工具。NetUtil的端口扫描标签页可以处理,或使用Portie进行持续的本地监控。
“这个域名有哪些DNS记录?” 在终端中输入dig domain.com(灵活但需要知道参数),或使用NetUtil的DNS查询标签页。
“我想要所有这些功能,但不用终端” 这就是"网络实用工具"二十年来提供的功能。NetUtil从它停止的地方继续。