用活动监视器“网络”标签页按“发送/接收字节”实时增量排序可快速定位高流量进程;networkquality测真实应用层带宽;tcpdump抓包分析协议与流向;netstat和networksetup查路由决策逻辑。

要真正看清 macOS 中网络流量的来龙去脉,不能只盯着“用了多少带宽”,得拆开看:哪些进程在发包、走的是哪条路、用的什么协议、目标在哪、有没有异常行为。下面几个方向最实用,也最容易上手。
用活动监视器定位高流量进程
这是最快捷的起点——不用装工具,系统自带,能直接看到每个程序实时收发了多少数据。
- 打开“活动监视器”(Command + 空格搜即可),切换到“网络”标签页
- 确保图形上方选的是“数据”,这样纵轴单位是字节/秒,反映真实吞吐量
- 关注“发送字节”和“接收字节”两列的实时增量,数值跳动快的进程就是当前网络主力
- 右键表头可添加“平均CPU时间”“网络端口”等栏,辅助判断是否为预期行为(比如某个后台更新进程突然占满上传)
用 networkQuality 测真实应用层带宽
Wi-Fi图标显示的速率是链路层理论值,而 networkQuality 模拟真实场景,测出你实际能跑多快。
- 终端运行:networkQuality -v(加 -v 显示详细过程)
- 它会连接 Apple 的 CDN 节点,发起 TCP 流测试,输出“平均HTTP下载速率”“平均HTTP上传速率”
- 这个结果更贴近 Safari 下载、iCloud 同步、视频会议的实际表现,比 ping 或 ifconfig 更有参考价值
- 如果实测远低于 Wi-Fi 标称速率,问题大概率出在 DNS、TCP 拥塞控制或中间路由,而非无线信号本身
用 tcpdump 抓包看协议与流向细节
当你要确认某类流量是否加密、是否绕路、是否被重定向,就得下到数据包层面。
- 先装好:brew install tcpdump(需 Homebrew)
- 抓当前活跃接口的 HTTP 流量示例:sudo tcpdump -i en0 -n -A 'tcp port 80 or port 443' | head -20
- -n 避免 DNS 查询拖慢速度,-A 以文本形式显示载荷(对 HTTP/HTTPS 可见 Host、User-Agent、部分路径)
- 配合过滤表达式可快速聚焦,比如只看发往公司内网段的包:sudo tcpdump -i en0 'dst net 10.10.0.0/16'
用 netstat 和 networksetup 查路由决策逻辑
很多“该走内网却走外网”的问题,根源不在应用,而在系统怎么选路。
- 查看当前生效的 IPv4 路由表:netstat -rn | grep -v '::'
- 重点看 Destination、Gateway、If(接口)、Metric(优先级)三列,匹配规则是“最长前缀优先”
- 比如你连着公司有线(en2)和家用 Wi-Fi(en0),但所有非 192.168.1.0/24 的流量都走 en0,说明默认路由指向了 Wi-Fi 网关
- 想让特定网段强制走有线?用 networksetup -setadditionalroutes "Ethernet" 10.20.0.0 255.255.0.0 10.20.1.1 添加静态路由(最后是网关IP)











