在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 [::]:*
UNCONN 0 0 0.0.0.0:123 0.0.0.0:*
lsof
命令lsof
可以列出当前系统打开的文件和使用这些文件的进程。
sudo lsof -i -P -n | grep LISTEN
-i
: 显示网络相关的文件-P
: 不将端口号转换为服务名-n
: 不将IP地址转换为域名示例输出:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
nginx 5678 www-data 6u IPv4 23456 0t0 TCP *:80 (LISTEN)
grep
结合 /proc
文件系统可以通过查看 /proc
文件系统中的信息来获取端口号。
grep -E '^[^[:space:]]+:/[^[:space:]]+\s+[0-9]+\s+' /proc/net/tcp
sudo
提升权限。net-tools
(包含 netstat
)或 iproute2
(包含 ss
)。sudo apt-get install net-tools # Debian/Ubuntu
sudo yum install net-tools # CentOS/RHEL
lsof
或 fuser
命令进一步排查。sudo lsof -i :端口号
sudo fuser 端口号/tcp
通过以上方法,可以有效地查看和管理Linux系统中的端口号。
领取专属 10元无门槛券
手把手带您无忧上云