使用netstat可查看Linux端口占用情况,执行netstat -tuln列出监听端口,加-p参数显示进程信息,结合grep过滤特定端口,推荐用ss或lsof替代。
在Linux系统中,查看端口占用情况是排查服务冲突、调试网络应用的常见操作。其中,netstat 是一个经典且实用的命令行工具,可以显示网络连接、路由表、接口统计信息以及端口使用情况。
执行以下
命令可以列出当前所有正在监听的端口和已建立的连接:
参数说明:
输出示例:
Active Internet connections (only servers)从上面可以看出,SSH(22)、MySQL(3306)、HTTP(80)端口正在被监听。
加上 -p 参数可以显示占用端口的进程PID和程序名:
netstat -tulnp注意:需要 root 或 sudo 权限才能看到其他用户的进程信息。
输出中会多出一列 “PID/Program name”,例如:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx这表示 PID 为 1234 的 nginx 进程占用了 80 端口。
如果只想检查某个端口(如 80)的占用情况,可以结合 grep 过滤:
netstat -tulnp | grep :80也可以使用:
netstat -an | grep :80这样能快速判断该端口是否处于监听或连接状态。
虽然 netstat 很常用,但在较新的 Linux 发行版中,它已被标记为“过时”。推荐使用以下替代工具:
这条命令会直接显示使用 80 端口的进程信息。
基本上就这些。netstat 虽然老但依然有效,掌握它的常用参数能快速定位端口问题。实际使用中可根据系统环境选择 ss 或 lsof 提高效率。