通八洲科技

LINUX怎么查看端口占用_LINUX查看端口使用情况netstat

日期:2025-12-12 00:00 / 作者:裘德小鎮的故事
使用netstat可查看Linux端口占用情况,执行netstat -tuln列出监听端口,加-p参数显示进程信息,结合grep过滤特定端口,推荐用ss或lsof替代。

在Linux系统中,查看端口占用情况是排查服务冲突、调试网络应用的常见操作。其中,netstat 是一个经典且实用的命令行工具,可以显示网络连接、路由表、接口统计信息以及端口使用情况。

1. 使用 netstat 查看端口占用

执行以下命令可以列出当前所有正在监听的端口和已建立的连接:

netstat -tuln

参数说明:

输出示例:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN

从上面可以看出,SSH(22)、MySQL(3306)、HTTP(80)端口正在被监听。

2. 查看具体是哪个进程占用了端口

加上 -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 端口。

3. 查看特定端口是否被占用

如果只想检查某个端口(如 80)的占用情况,可以结合 grep 过滤:

netstat -tulnp | grep :80

也可以使用:

netstat -an | grep :80

这样能快速判断该端口是否处于监听或连接状态。

4. 其他替代命令(现代推荐)

虽然 netstat 很常用,但在较新的 Linux 发行版中,它已被标记为“过时”。推荐使用以下替代工具:

基本上就这些。netstat 虽然老但依然有效,掌握它的常用参数能快速定位端口问题。实际使用中可根据系统环境选择 ss 或 lsof 提高效率。