在 mac 终端中,使用 netstat 查看当前开放端口需结合 -an 参数执行 sudo netstat -an | grep listen。该命令会列出所有处于监听状态的 tcp 和 udp 端口及其对应的进程 id。若需进一步确认端口归属的具体应用,可配合 lsof 命令查询。

如何过滤出仅处于监听状态的端口
通过管道符将 netstat 的输出传递给 grep 并筛选 LISTEN 关键字,即可排除已建立连接或等待连接的临时端口,只保留正在等待外部请求的端口信息。此方法能直接获取服务器端真正开放的入口点。

sudo netstat -an | grep LISTEN
如何将端口号映射到具体的进程名称
netstat 默认输出包含 PID/Program name 列,但有时显示不全。使用 lsof -i : 可以精确查询特定端口被哪个进程占用。例如查询 8080 端口,输入 lsof -i :8080 即可看到进程名、用户及状态,这是排查端口冲突最准确的方式。

lsof -i :8080
为什么某些端口显示为 UFW 或状态不明
在 macOS 上,部分系统级服务或内核扩展占用的端口可能不会在普通用户权限下完全展示详细信息。若发现端口存在但无法关联到具体应用,通常是因为该端口由 root 权限守护进程持有,或者处于 TIME_WAIT 状态而非 LISTEN。此时必须使用 sudo 提升权限,或检查 /etc/services 文件以了解标准端口的默认分配情况。










