苹果笔记本需用系统防火墙设白名单来限制联网应用。先在“系统设置→隐私与安全性→防火墙”中开启防火墙并输管理员密码;再通过“防火墙选项→+”添加.app应用,确保状态为“允许传入连接”;终端可用socketfilterfw命令添加脚本或未签名程序;最后勾选“阻隔所有传入连接”并用nc命令验证放行效果。

苹果笔记本需要只允许特定应用联网,防止后台程序偷偷上传数据或被远程利用,就得靠系统自带防火墙配置白名单。
打开并启用macOS防火墙
点击屏幕左上角苹果图标 → 选择“系统设置” → 在左侧边栏滚动到底部,点“隐私与安全性” → 向下找到“防火墙”区域,点击右侧的“详细信息…”按钮。
若显示“关闭防火墙”,先点“打开防火墙”;系统会弹出密码框,【必须输入管理员密码才能继续】,这是SIP(系统完整性保护)强制要求,跳过就无法写入规则。
成功开启后,状态变为“防火墙已开启”,右上角出现绿色指示标识。
手动添加应用到防火墙白名单
在“防火墙”设置页中,点击“防火墙选项…”按钮 → 点击左下角“+”号 → 在弹出窗口中导航至/Applications文件夹 → 选中目标应用(如“Chrome.app”或“Obsidian.app”)→ 点击“添加”。
添加后检查列表中该应用右侧状态是否为“允许传入连接”;若显示“阻止”,需点击其右侧下拉菜单手动改为“允许”。【注意:仅添加.app包本身有效,不能选包内Contents/MacOS/下的二进制文件】
终端强制添加未签名或脚本类应用
方法一:适用于开发工具、自制脚本或未公证的App
打开“终端”(访达 → 前往 → 实用工具)→ 输入以下命令查看防火墙当前状态:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
若返回“Firewall is disabled”,先执行启用命令:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
接着添加指定路径的应用(例如桌面的Python脚本):
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add ~/Desktop/myscript.py
最后放行传入连接:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp ~/Desktop/myscript.py
方法二:若应用被SIP保护(如放在/Applications但签名无效),需先复制到~/Applications等非系统路径再添加,否则socketfilterfw会拒绝注册。
验证白名单是否生效
第一步:在“防火墙选项…”窗口中,勾选“阻隔所有传入连接” → 点“好”保存。
第二步:打开终端,运行:
nc -zv 127.0.0.1 8080
第三步:启动你刚加入白名单的应用(比如开启本地Web服务器),再执行相同nc命令;如果返回“succeeded”,说明白名单规则已接管且放行成功。
第四步:尝试用另一台设备ping本机IP,若无响应,说明“隐身模式”也已同步生效——这步不是必须,但能确认防火墙处于活跃拦截态。


















