在Linux系统中,查看监听的端口号是一个常见的需求,通常用于诊断网络服务状态或排查端口冲突等问题。以下是基础概念及相关操作的详细解答:
端口号:端口号是计算机网络中用于区分不同服务的数字标识,范围从0到65535。其中,0到1023为知名端口,通常由系统或标准服务使用;1024到49151为注册端口,可由用户进程分配;49152到65535为动态或私有端口。
监听端口:当一个服务启动时,它会在特定的端口号上监听,等待客户端的连接请求。
netstat
命令netstat
是一个强大的网络统计工具,可以显示网络连接、路由表、接口统计等。
sudo 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
是 netstat
的现代替代品,执行速度更快,输出更简洁。
sudo ss -tuln
参数含义与 netstat
相同。
示例输出:
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 100 :::80 :::*
问题1:无法查看端口信息。
sudo
提升权限,或确认 netstat
和 ss
工具是否已安装。问题2:端口被占用。
sudo lsof -i :<端口号>
此命令将显示占用指定端口的进程信息。根据PID(进程ID)可以进一步操作,如使用 kill
命令终止进程。
总之,通过 netstat
或 ss
命令可以方便地查看Linux系统中正在监听的端口号,并根据实际需求进行相应的操作和调整。
领取专属 10元无门槛券
手把手带您无忧上云