用watch -n 1配合netstat -ib与awk可实现实时kb/s级吞吐监控,↓为接收、↑为发送,首次需两秒差分;iftop需brew安装并sudo运行,原生命令sudo lsof -i -p -n可查top10连接进程。

你需要在Mac终端里直接看到当前每秒收发多少字节,不打开图形界面、不装额外软件、不依赖后台进程持续运行,就用系统自带的netstat和ifconfig命令组合,配合watch实现动态刷新。
用netstat实时查看整机网络吞吐量
这一步输出的是内核级统计值,单位为字节/秒,刷新延迟低于200毫秒,数据来源与活动监视器完全一致。
在终端中输入:netstat -ib | awk 'NR==3 {print "↓ "$7" B/s ↑ "$10" B/s"}'
其中$7是接收字节数(下载),$10是发送字节数(上传);该命令只读取第三行接口汇总数据,避开冗长的接口列表,避免误读en0/en1混杂值。
注意:数值是累计值差分计算所得,首次运行时需等待1秒再执行第二次才能出有效速率——所以单独运行一次没意义。
用watch自动刷新netstat结果
让终端每秒自动重跑一次netstat命令,真正实现“实时”监控。
输入:watch -n 1 'netstat -ib | awk '\''NR==3 {printf "↓ %.1f KB/s ↑ %.1f KB/s\n", $7/1024, $10/1024}'\''
这条命令把原始B/s转成更易读的KB/s,并保留一位小数;【必须用单引号包裹整个awk表达式,且内部单引号要转义,否则shell会提前截断】。
按Ctrl+C退出监控。
用iftop追踪具体进程的流量占用
当你发现总流量异常高,需要立刻知道是哪个App在偷跑,就得用iftop——它能按进程名+端口实时排序显示每秒流量。
方法一:用Homebrew安装后使用
先运行:brew install iftop;安装完成后执行:sudo iftop -P
加-P参数可显示端口号,便于识别HTTP/HTTPS/BitTorrent等协议;【必须加sudo,否则无法捕获非root进程的socket连接】。
方法二:不安装,用系统原生命令替代
运行:sudo lsof -i -P -n | grep -E "(UDP|TCP)" | awk '{print $1,$9}' | sort | uniq -c | sort -nr | head -10
这条命令列出当前TOP10网络连接最多的进程名与地址,不依赖第三方工具,但只反映连接数而非实时速率。











