根据防火墙工具选择命令:firewalld用firewall-cmd --list-ports,iptables用iptables -L -n -v,ufw用ufw status,ss用ss -tuln查看实际监听端口。

在Linux系统中查看防火墙开放的端口,需要根据你使用的防火墙工具来选择对应命令。常见的防火墙工具有 firewalld、iptables 和 ufw。以下是针对不同工具的查看方法。
使用 firewalld 查看开放端口
firewalld 是 CentOS、RHEL 和 Fedora 等系统默认的防火墙管理工具。
● 查看当前区域的开放端口:firewall-cmd --list-ports
● 查看所有区域的开放端口:
firewall-cmd --list-all-zones
● 查看是否允许某特定端口(如 80/tcp):
firewall-cmd --query-port=80/tcp
使用 iptables 查看开放端口
iptables 是较老但依然广泛使用的防火墙工具,常见于没有启用 firewalld 的系统。
● 查看所有规则,包括开放的端口:iptables -L -n -v
● 只查看 INPUT 链的规则(通常用于入站连接):
iptables -L INPUT -n -v
● 查看 NAT 表规则(如做端口转发时):
iptables -t nat -L -n -v
使用 ufw 查看开放端口(Ubuntu/Debian)
ufw(Uncomplicated Firewall)是 Ubuntu 和 Debian 系统上简化防火墙配置的工具。
● 查看防火墙状态及开放的端口:ufw status
● 查看更详细的信息(包括规则编号):
ufw status numbered
通过 netstat 或 ss 查看实际监听的端口
这些命令不查看防火墙规则,而是查看系统当前正在监听的网络端口,可用于辅助判断哪些端口对外可用。
● 使用 ss 查看监听中的 TCP 端口:ss -tuln
● 使用 netstat(较老命令,部分系统已弃用):
netstat -tuln
说明:-t 显示 TCP,-u 显示 UDP,-l 仅显示监听状态,-n 以数字形式显示端口。 基本上就这些。根据你的系统使用的防火墙工具选择对应命令即可。多数情况下,结合防火墙规则和实际监听状态一起查看,能更准确判断端口是否真正开放。










