防火墙如何查看运行状态?
防火墙运行状态可通过图形界面、命令行工具及系统服务三类路径精准获取。在Windows系统中,用户既可进入“Windows安全中心→防火墙和网络保护”直观查看域网络、专用网络与公用网络三类配置文件的启用状态,也可通过控制面板或高级安全Windows防火墙的“监视”选项卡获取实时运行信息;命令行层面,管理员权限下执行`netsh advfirewall show allprofiles`或PowerShell指令`Get-NetFirewallProfile | Select Name,Enabled`,能清晰返回各配置文件的启用标识;Linux平台则普遍依赖`firewall-cmd --state`验证firewalld服务是否活跃,并辅以`--list-all`确认规则加载完整性。所有方法均基于系统原生机制,响应准确、操作可靠,适配不同技术背景用户的日常运维需求。
一、图形界面操作路径需分层定位关键入口
在Windows 10/11系统中,最直观的验证方式是打开“Windows安全中心”,依次点击“防火墙和网络保护”,此处以卡片式布局清晰展示域网络、专用网络、公用网络三类配置文件的实时开关状态,每张卡片右上角明确标注“已启用”或“已关闭”,并附带“启用/关闭”快捷操作按钮;若需进一步确认底层服务联动性,可进入“高级安全Windows防火墙”,在左侧导航栏选择“监视”→“防火墙”,右侧窗格将逐项列出“域配置文件”“专用配置文件”“公用配置文件”的当前状态、规则数及最后更新时间,该界面还能同步显示入站/出站连接的实时拦截日志摘要,便于快速判断策略是否生效。
二、命令行核查须区分权限与输出语义
执行命令前务必以管理员身份启动终端,否则可能因权限不足返回空值或拒绝访问提示。`netsh advfirewall show allprofiles`命令输出中,“State”字段为“ON”即表示对应配置文件已激活,而“Profile”列则对应三类网络类型,需逐行核对;PowerShell指令`Get-NetFirewallProfile | Select Name,Enabled`返回表格化结果,其中“Enabled”列值为True才代表该配置文件处于运行态;Linux端使用`firewall-cmd --state`仅返回“running”或报错信息,属轻量级健康检查,建议组合执行`firewall-cmd --get-active-zones`确认接口绑定关系,再用`firewall-cmd --list-all`比对规则集是否完整加载,避免出现服务运行但策略未生效的异常场景。
三、系统服务状态是底层运行的决定性依据
Windows平台需检查“MPSSVC”(Windows Defender Firewall)服务本身是否处于“正在运行”状态,可通过`services.msc`图形化服务管理器或`sc query mpssvc`命令验证;同时不可忽略其三项核心依赖服务:Network Connections、Windows Management Instrumentation(WMI)、Remote Procedure Call(RPC),任一依赖项停止都将导致防火墙策略无法动态应用;Linux系统则需运行`systemctl status firewalld`,观察Active字段是否为“active (running)”,并留意Loaded行中unit文件路径是否正确,确保未被其他防火墙服务(如iptables)冲突覆盖。
综上,多维度交叉验证才能全面掌握防火墙真实运行状况。




