在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:*
ss
命令ss
是 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 [::]:*
lsof
命令lsof
可以列出当前系统打开的文件和使用这些文件的进程。
示例命令:
lsof -i :80
-i
:指定网络协议和端口号。输出示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 6u IPv4 12345 0t0 TCP *:http (LISTEN)
原因: 可能是由于权限不足或工具未安装。 解决方法:
sudo
提升权限:sudo
提升权限:net-tools
包含 netstat
):net-tools
包含 netstat
):原因: 可能是进程异常退出或使用了 SO_REUSEADDR
选项。
解决方法:
lsof
或 fuser
查找占用端口的进程:lsof
或 fuser
查找占用端口的进程:通过以上方法,您可以有效地查看和管理Linux系统中的端口使用情况。
领取专属 10元无门槛券
手把手带您无忧上云