在Linux系统中,查看已占用端口号的常用命令主要有netstat
和ss
。以下是对这两个命令的详细解释及其应用场景:
端口号:端口号是用于识别运行在计算机上的不同应用程序或服务的数字标识符。端口号范围从0到65535,其中0到1023为知名端口,通常由系统或标准服务使用;1024到49151为注册端口,可由用户进程分配;49152到65535为动态或私有端口。
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:*
ss
命令基础概念:
ss
(socket statistics)是一个用于查看套接字统计信息的工具,功能比netstat
更强大且效率更高。
优势:
类型与应用场景:
命令示例:
ss -tuln
-t
:显示TCP连接。-u
:显示UDP连接。-l
:仅显示监听套接字。-n
:以数字形式显示地址和端口号。输出示例:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:80 [::]:*
UNCONN 0 0 0.0.0.0:123 0.0.0.0:*
问题1:无法查看端口占用情况
sudo
提升权限:sudo netstat -tuln
或 sudo ss -tuln
。net-tools
(包含netstat
)或iproute2
(包含ss
)。问题2:输出结果难以理解
netstat -lnt
或 ss -lnt
。man netstat
或 man ss
。通过以上命令和解决方法,您可以有效地查看Linux系统中已占用的端口号,并进行相应的网络管理和故障排查。
领取专属 10元无门槛券
手把手带您无忧上云