在Unix系统中,端口是网络通信中的一个重要概念。每个端口都有一个唯一的编号,范围从0到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
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 *:22 *:*
LISTEN 0 128 *:123 *:*
lsof
lsof
可以列出当前系统打开的文件,包括网络端口。
示例命令:
lsof -i -n -P | grep LISTEN
-i
:显示网络文件。-n
:不解析主机名。-P
:不解析端口号。输出示例:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
ntpd 5678 ntp 5u IPv4 23456 0t0 UDP *:123
如果你在执行上述命令时遇到权限不足的问题,可以尝试使用 sudo
提升权限。
解决方法:
sudo netstat -tuln
如果系统上有大量网络连接和服务,输出可能会非常庞大。可以使用 grep
过滤特定端口或服务。
解决方法:
netstat -tuln | grep 80
某些旧版本的Unix系统可能没有 ss
或 lsof
命令。可以尝试安装这些工具。
解决方法(以Debian/Ubuntu为例):
sudo apt-get update
sudo apt-get install iproute2 lsof
通过这些方法和工具,你可以有效地查看和管理Unix系统上的网络端口。
领取专属 10元无门槛券
手把手带您无忧上云