linux 查看防火墙放开的端口

linux 查看防火墙放开的端口

目录1. 使用 firewalld(推荐用于 CentOS/RHEL/Fedora)2. 使用 ufw(Ubuntu 系统常见)3. 使用 iptables(传统工具,或底层驱动)4. 使用 netstat 或 ss 查看正在监听的端口(系统级)总结

在 Linux 系统中,查看防火墙放开的端口取决于你使用的防火墙工具。常见的工具有 firewalld(如 CentOS/RHEL 7+、Fedora)、ufw(Ubuntu 简单防火墙)和 iptables(传统工具)。以下是针对不同防火墙的查看方法:

1. 使用 firewalld(推荐用于 CentOS/RHEL/Fedora)

# 查看防火墙状态

sudo firewall-cmd --state

# 查看当前区域中已开放的端口和服务

sudo firewall-cmd --list-ports

sudo firewall-cmd --list-services

# 查看永久规则(重启后仍生效)

sudo firewall-cmd --permanent --list-ports

sudo firewall-cmd --permanent --list-services

# 查看所有详细信息(包括区域)

sudo firewall-cmd --list-all

sudo firewall-cmd --list-all-zones

示例输出:

ports: 80/tcp 443/tcp 22/tcp

services: ssh dhcpv6-client http https

2. 使用 ufw(Ubuntu 系统常见)

# 查看防火墙状态和已开放的规则

sudo ufw status

# 详细模式(显示更多细节)

sudo ufw status verbose

# 显示所有规则编号(便于删除)

sudo ufw status numbered

输出示例:

Status: active

To Action From

-- ------ ----

22/tcp ALLOW Anywhere

80/tcp ALLOW Anywhere

3. 使用 iptables(传统工具,或底层驱动)

# 列出所有规则(查看开放端口)

sudo iptables -L -n -v

# 只查看 INPUT 链的规则(最常用)

sudo iptables -L INPUT -n -v

# 查看 NAT 规则(如有端口转发)

sudo iptables -t nat -L -n -v

参数说明:

-L: 列出规则

-n: 显示 IP 和端口为数字形式(不解析)

-v: 显示详细信息

4. 使用 netstat 或 ss 查看正在监听的端口(系统级)

这些命令不直接显示防火墙规则,但可以查看哪些端口正在被服务监听,间接判断是否“可用”。

# 使用 ss(推荐,现代工具)

sudo ss -tulnp

# 使用 netstat(较老,部分系统已弃用)

sudo netstat -tulnp

参数说明:

t: TCP

u: UDP

l: 监听状态

n: 显示数字端口

p: 显示进程信息

总结

防火墙工具

查看开放端口命令

firewalld

firewall-cmd --list-ports

ufw

ufw status

iptables

iptables -L -n -v

通用监听

ss -tulnp

⚠️ 注意:请根据你的 Linux 发行版和实际使用的防火墙工具选择对应命令。可先运行 sudo systemctl status firewalld 或 sudo ufw status 来确认当前使用的防火墙。

更多创意作品