在Linux系统中,查看哪个端口开启可以通过多种命令来实现。以下是一些常用的方法:
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 :::22 :::* LISTEN
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp6 0 0 :::123 :::*
ss
命令ss
是 netstat
的替代品,功能更强大且速度更快。
sudo 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 [::]:22 [::]:*
LISTEN 0 100 0.0.0.0:123 0.0.0.0:*
LISTEN 0 100 [::]:123 [::]:*
lsof
命令lsof
可以列出当前系统打开的文件,包括网络端口。
sudo lsof -i -P -n | grep LISTEN
-i
: 显示网络文件。-P
: 不将端口号转换为服务名。-n
: 不将IP地址转换为主机名。示例输出:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
ntpd 5678 nobody 6u IPv4 23456 0t0 UDP *:123
如果在查看端口时遇到问题,可能是以下原因:
sudo
提升权限。例如,如果发现某个端口未开启,可以尝试重启相关服务:
sudo systemctl restart <service_name>
或者调整防火墙规则:
sudo iptables -A INPUT -p tcp --dport <port_number> -j ACCEPT
通过以上方法,可以有效查看和管理Linux系统中的端口状态。
领取专属 10元无门槛券
手把手带您无忧上云