用 socketfilterfw 管理 macOS 应用防火墙

socketfilterfw 是系统设置中防火墙开关背后的隐藏命令行工具,可以启用防火墙、列出已注册应用并封禁指定应用。

macOS应用防火墙安全防火墙中风险
运行 `sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on` 启用防火墙,用 --listapps 和 --blockapp 管理应用。

01命令

命令
$ sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on && sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps

02作用说明

macOS 的应用防火墙按应用而非端口工作:它控制哪些有签名的应用可以接受入站连接,这与 pf 规则是两种不同的模型。常用参数包括 --setblockall on、--add /路径/应用、--blockapp 配合 --blockapp-protocol,以及查看状态的 --getglobalstate。在无法打开系统设置的批量设备脚本中,它是执行防火墙策略的标准方式。

03风险

风险中风险
使用条件sudo (admin account)
!注意: 封禁应用入站连接可能导致本地开发服务器和隔空投送类共享失效。

04撤销

撤销
$ sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off

05来源

  • socketfilterfw(8) — macOS man page
    Xcode Man Pages (mirror) · technical · 2026-09-17
    依据: Documents --setglobalstate, --listapps, --blockapp and other controls for the application firewall.

最后验证: 2026-09-17 · 分类: 安全与隐私

06相关方案