要快速确认mac当前活跃的tcp连接,应使用netstat -t4n | grep established筛选ipv4已建立连接;若需关联进程,则用sudo lsof -i tcp | grep -v listen,可直接显示进程名、pid及远程地址。

要快速确认Mac当前正在与哪些远程服务器通信,比如网页加载、云同步或远程登录是否真实建立连接,必须过滤掉大量监听和关闭状态的条目,只聚焦ESTABLISHED状态的活跃TCP连接。
用netstat筛选已建立的TCP连接
打开终端,执行:netstat -an | grep ESTABLISHED。
这条命令会从全部套接字中抽出所有状态为ESTABLISHED的TCP连接,Remote Address列显示对方IP和端口,Local Address列显示本机出口地址和端口——这是判断“此刻真正在传数据”的最直接依据。
注意:如果输出为空,不代表没连接,可能是你正用的是UDP协议(如DNS查询、视频流),而ESTABLISHED仅适用于TCP。UDP连接不会显示此状态。
精准查看IPv4 TCP活跃连接
避免IPv6地址干扰视线,尤其当你只关心局域网或常见公网服务时:
执行:netstat -t4n | grep ESTABLISHED。
-t 表示只查TCP,-4 限定IPv4,-n 禁用DNS解析,三者组合后输出干净利落,每行格式统一为“本地IP:端口 → 远程IP:端口”,一眼就能识别出Chrome、Zoom或iTerm2发起的连接。
实时监控连接动态变化
有些连接存在时间极短(如API心跳、推送通知),单次快照容易遗漏:
第一步:安装watch工具(若未安装)→ 在终端运行:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" → 安装Homebrew后执行:brew install watch。
第二步:启用每秒刷新 → 输入:watch -n 1 'netstat -t4n | grep ESTABLISHED'。
这会让终端窗口持续滚动更新,新建立的连接出现时会高亮闪动,断开的连接则自动消失——适合排查偶发性连接失败或后台程序偷偷联网行为。
【必须加sudo才能看到PID列】否则你无法知道哪个进程在连,只能靠端口和IP反推,极易误判。
用lsof直接列出所有活跃TCP连接及进程名
方法一:全局扫描 → 执行:sudo lsof -i TCP。
方法二:排除监听状态,只看已连接 → 执行:sudo lsof -i TCP | grep -v LISTEN。
输出包含COMMAND(进程名)、PID、USER、NODE(远程地址),比netstat多一层语义信息——看到“Slack”连着104.18.33.217:443,你就知道是工作消息在走HTTPS。
这一步操作起来很简单,直接把命令敲进去回车就行,但首次运行需输入管理员密码。











