答案1
通过以下方式启用应用程序防火墙
defaults write /Library/Preferences/com.apple.alf globalstate -int 1
(0 表示禁用),然后重新启动服务
launchctl unload /System/Library/LaunchAgents/com.apple.alf.useragent.plist
launchctl unload /System/Library/LaunchDaemons/com.apple.alf.agent.plist
launchctl load /System/Library/LaunchDaemons/com.apple.alf.agent.plist
launchctl load /System/Library/LaunchAgents/com.apple.alf.useragent.plist
应用程序防火墙可以通过/usr/libexec/ApplicationFirewall/socketfilterfw
二进制文件进行控制。
看这里了解更多信息。
请注意,应用程序防火墙与 BSD 数据包过滤器完全不同,可以使用ipfw
命令行实用程序。
答案2
使用 MacOS Mojave,您可以通过以下方式启用 MacOS 应用程序防火墙:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
有关更多信息,请查看 socketfilterfw 手册页或:
/usr/libexec/ApplicationFirewall/socketfilterfw -h
(求助)
我不需要卸载或加载守护进程(com.apple.alf)
使用socketfilterfw
修改 plist/Library/Preferences/com.apple.alf.plist
设置globalstate
至 1(开启)。