在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:5353 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 *:80 *:*
lsof
命令lsof
可以列出当前系统打开的文件,包括网络端口。
示例:
lsof -i -n -P | grep LISTEN
-i
表示列出网络文件。-n
表示不将IP地址转换为域名。-P
表示不将端口号转换为服务名。输出示例:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
nginx 5678 www-data 6u IPv4 23456 0t0 TCP *:80 (LISTEN)
/etc/services
文件这个文件包含了常见的服务和端口的对应关系。
示例:
cat /etc/services | grep ssh
输出示例:
ssh 22/tcp # Secure Shell Login
ssh 22/udp # Secure Shell Login
netstat
或 ss
命令不可用,可能是未安装相关工具包。sudo apt-get install net-tools iproute2
安装。sudo
提升权限。grep
进行过滤,或者参考 /etc/services
文件理解服务名称。通过以上方法,可以有效地查看和管理Linux系统中的服务和端口对应关系。
领取专属 10元无门槛券
手把手带您无忧上云