在Linux系统中,查看端口占用情况是一个常见的需求,尤其是在排查网络问题或者确保特定服务正常运行时。以下是几种常用的方法来查看端口占用情况:
netstat
命令netstat
是一个强大的网络统计工具,可以显示网络连接、路由表、接口统计等。
netstat -tuln
-t
表示显示TCP连接。-u
表示显示UDP连接。-l
表示仅显示监听套接字。-n
表示以数字形式显示地址和端口号。示例输出:
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
tcp6 0 0 :::80 :::* LISTEN
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp6 0 0 :::123 :::*
ss
命令ss
是 netstat
的替代品,通常更快且更高效。
ss -tuln
参数含义与 netstat
相同。
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 128 :::80 :::*
UNCONN 0 0 *:123 *:*
UNCONN 0 0 :::123 :::*
lsof
命令lsof
可以列出当前系统打开的文件,包括网络端口。
sudo lsof -i -P -n | grep LISTEN
-i
表示选择网络文件。-P
表示不将端口号转换为服务名。-n
表示不将IP地址转换为主机名。示例输出:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
nginx 2345 www-data 6u IPv4 23467 0t0 TCP *:80 (LISTEN)
fuser
命令fuser
可以显示使用指定文件或文件系统的进程。
sudo fuser -n tcp 80
示例输出:
80/tcp: 2345
如果你发现某个端口被占用且不需要该服务,可以采取以下措施:
通过以上方法,你可以有效地查看和管理Linux系统中的端口占用情况。
领取专属 10元无门槛券
手把手带您无忧上云