在Linux系统中,可以通过以下几种方法查看开放的端口号:
netstat
命令netstat -tuln
-t
:显示TCP端口。-u
:显示UDP端口。-l
:仅显示监听中的端口。-n
:以数字形式显示地址和端口(不解析域名和服务名)。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
netstat
,需通过包管理器安装(如 apt install net-tools
或 yum install net-tools
)。ss
命令(推荐,更现代的工具)ss -tuln
netstat
类似,但性能更高。Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 128 [::]:80 [::]:*
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 IPv6 67890 0t0 TCP *:80 (LISTEN)
ufw
或 firewalld
)bash
sudo ufw status
bash
sudo firewall-cmd --list-ports
nmap
扫描本地端口sudo nmap -sT -p- 127.0.0.1
-sT
:TCP连接扫描。-p-
:扫描所有端口(1-65535)。nmap
(如 apt install nmap
或 yum install nmap
)。/etc/services
文件cat /etc/services
ss -tuln
(无需安装,性能最佳)。sudo lsof -i -P -n
(显示进程和用户)。nmap
(适合验证防火墙配置)。根据需求选择合适的方法即可!