如何查看防火墙的设置端口
查看防火墙设置端口需依据操作系统及所用防火墙服务类型,采用对应命令或图形界面操作即可精准定位。Windows平台可通过“高级安全Windows Defender防火墙”图形界面直观浏览入站/出站规则,亦支持`netsh advfirewall firewall show rule name=all`或PowerShell中`Get-NetFirewallRule | Where-Object { $_.Enabled -eq 'True' }`实现结构化筛选;Linux系统则需区分firewalld(如`firewall-cmd --list-ports`)、iptables(`iptables -L -n --line-numbers`)或ufw(`ufw status verbose`)等服务,并辅以`ss -tuln`验证实际监听状态。所有操作均基于各系统原生工具链,参数与逻辑严格遵循微软官方文档及Red Hat、Ubuntu等发行版技术手册规范。
一、Windows系统图形界面操作流程
打开控制面板,依次进入“系统和安全”→“Windows Defender防火墙”,点击左侧“高级设置”启动“高级安全Windows Defender防火墙”管理控制台。在此界面中,左侧导航栏分别列出“入站规则”与“出站规则”,右键点击任一规则可选择“属性”查看详细配置,包括协议类型(TCP/UDP)、本地端口范围、启用状态及关联程序路径。若需快速定位某端口(如80或443),可在右侧“操作”栏点击“按端口筛选”,输入端口号后系统将高亮显示所有匹配规则,支持直接双击编辑或禁用。
二、Linux系统firewalld服务端口核查方法
首先确认firewalld服务是否运行:执行`systemctl is-active firewalld`,返回“active”方可继续。接着使用`firewall-cmd --list-ports`获取当前临时开放的端口列表;若需查看永久生效的端口配置,则追加`--permanent`参数,即`firewall-cmd --permanent --list-ports`。注意两者结果可能不一致——临时规则重启后失效,永久规则须配合`firewall-cmd --reload`重载才生效。此外,通过`firewall-cmd --list-services`可识别预定义服务(如http、https)所映射的端口,便于理解规则逻辑层级。
三、跨平台验证端口实际监听状态
无论防火墙规则如何设置,最终需确认对应服务是否真正在该端口监听。统一推荐使用`ss -tuln`命令:其中`-t`表示TCP、`-u`表示UDP、`-l`显示监听套接字、`-n`以数字形式输出端口而非服务名。执行后结果中“Local Address:Port”列即为本机实际开启的端口,例如“*:8080”或“127.0.0.1:3306”,可与防火墙规则比对,排除服务未启动导致的“规则存在但无法访问”问题。
四、补充说明与注意事项
在CentOS 7/8等默认启用firewalld的发行版中,切勿混用`iptables`命令直接修改底层规则,否则易与firewalld冲突;Ubuntu用户若安装了ufw,则应优先使用`ufw status verbose`而非`iptables -L`,因其输出更清晰标注规则来源与策略方向。所有命令均需以root权限执行,普通用户可前置`sudo`。每次修改后建议同步检查服务状态与网络连通性,形成闭环验证。
综上,端口核查是系统运维的基础能力,关键在于匹配工具链、分清临时与永久配置、并辅以底层监听验证。




