iptables
或 firewalld
命令。使用 sudo iptables -L
或 sudo firewall-cmd --list-all
。在Linux系统中,查看防火墙端口是确保系统安全的重要步骤,通过了解哪些端口正在监听或被防火墙规则允许,可以更好地管理网络流量和防范潜在威胁,以下是几种常用的方法和命令行工具,帮助你查看Linux防火墙的开放端口。
使用netstat命令
netstat
命令是一个经典的网络工具,用于显示网络连接、路由表和接口统计信息,要查看当前系统中所有开放的TCP和UDP端口,可以使用以下命令:
sudo netstat -tuln
-t
:显示TCP协议的连接。
-u
:显示UDP协议的连接。
-l
:仅显示监听状态的连接。
-n
:以数字形式显示地址和端口号,而不是解析为域名或服务名。
要查找特定端口80的状态,可以使用:
sudo netstat -tuln | grep :80
使用ss命令
ss
命令是netstat
的替代品,执行速度更快且功能更强大,它可以用来查看当前的网络连接和端口状态,使用以下命令列出所有打开的TCP和UDP端口:
sudo ss -tunl
参数说明:
-t
:显示TCP协议的连接。
-u
:显示UDP协议的连接。
-n
:以数字形式显示地址和端口号。
-l
:仅显示监听状态的连接。
使用iptables命令
iptables
是一个强大的防火墙配置工具,用于设置和管理防火墙规则,使用以下命令可以查看当前的防火墙规则,包括开放的端口:
sudo iptables -L -n
-L
:列出防火墙规则。
-n
:以数字形式显示地址和端口号。
如果只对TCP端口感兴趣,可以使用:
sudo iptables -L INPUT -n --line-numbers | grep ACCEPT
使用firewalld命令
对于使用firewalld
作为防火墙管理工具的系统(如CentOS/RHEL 7+),可以使用以下命令查看开放的端口:
sudo firewall-cmd --list-ports
或者查看特定zone(如public)的开放端口:
sudo firewall-cmd --zone=public --list-ports
使用nmap命令
nmap
是一个功能强大的网络探测和安全扫描工具,可以用来扫描目标主机上的开放端口,使用以下命令扫描本地主机的所有端口:
sudo nmap -sT -O localhost
或者,只扫描特定的端口范围:
sudo nmap -p 1-65535 localhost
其他方法
除了上述常用命令外,还可以检查防火墙配置文件或使用系统日志来了解开放的端口,对于iptables,可以查看/etc/sysconfig/iptables
或/etc/iptables/rules.v4
等目录下的配置文件,对于firewalld,可以查看/etc/firewalld/
目录下的配置文件。
在Linux系统中,有多种方法和命令行工具可以用来查看防火墙的开放端口,根据具体的需求和使用的工具,选择合适的方法进行查询,无论是使用netstat
、ss
、iptables
还是firewalld
,这些命令都能帮助你有效地管理和监控系统的网络连接和防火墙规则。