用 lsof 列出 Mac 上所有网络连接
一条容易遗忘的命令,能显示所有网络套接字及其所属进程,比 netstat 的裸连接表更实用。
运行 `lsof -i -P -n`,即可列出所有 TCP/UDP 套接字以及每个套接字所属的进程。
01命令
命令
$ lsof -i -P -n02作用说明
-i 让 lsof 只匹配网络套接字;-P 保留端口号为数字而不是服务名,-n 跳过反向 DNS 解析,因此输出立即返回。结果包含 PID、进程名、用户以及本地/远程地址,非常适合审计哪些程序在悄悄联网。可以配合 grep ESTABLISHED 查看活动连接,或 grep LISTEN 查看本机监听的服务。
03风险
!注意: 不加 sudo 时 lsof 只显示当前用户拥有的套接字,看起来可能像不完整的列表。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- lsof — list open files (macOS)依据: Documents -i to select Internet addresses, -P to avoid port-name conversion, and -n to skip hostname lookups.
最后验证: 2026-09-17 · 分类: 网络