macos隐身模式使mac对外部探测“装作不存在”:不响应ping、不暴露端口、不广播名称,仅影响入站发现而不妨碍出站访问;需先开启防火墙,gui设置在ventura及以上系统可用,gui失效时须用终端命令sudo /usr/libexec/applicationfirewall/socketfilterfw --setstealthmode on强制启用。

macOS 隐身模式不是“隐藏网络”,而是让 Mac 对外部探测“装作不存在”——它不回复 ping、不暴露端口状态、不响应未请求的连接尝试,从源头减少被盯上的概率。开启它无需额外软件,但需先启用防火墙,且部分系统版本中 GUI 设置可能失效,需配合终端命令确保生效。
隐身模式的核心作用
隐身模式本质是关闭 Mac 的“网络自报家门”行为:
- 不响应 ICMP echo 请求(即外部 ping 不通你)
- 对未主动发起的 TCP SYN 或 UDP 数据包不做 RST/ACK 回应
- 不向局域网广播 mDNS(如 “MacBook.local”)或 NetBIOS 名称(仅影响发现,不影响已知地址访问)
- 不影响你主动访问网站、收邮件、用 iMessage 等所有出站行为
图形界面开启方法(推荐首选)
适用于 macOS Ventura 及更新系统(如 Sonoma、Sequoia):
- 点击苹果菜单 → “系统设置” → 左侧“网络” → 右侧滚动到底部点“防火墙”
- 若显示“关闭防火墙”,先点“打开防火墙”;系统会提示输入管理员密码
- 点右下角“防火墙选项…” → 拉到最底部,勾选“启用隐身模式”
- 点“好”保存。此时防火墙图标旁会出现小盾牌标识,隐身即生效
终端命令强制启用(解决 GUI 失效问题)
某些情况下,图形界面勾选后重启仍不生效(比如 ping 仍可通),说明 stealth mode 状态未真正写入内核。可用以下命令直接控制:
- 打开“终端”,输入:sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on
- 输密码(无回显),回车后提示 “Stealth mode enabled” 即成功
- 验证是否生效:sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
- 若返回 “Stealth mode enabled”,再用另一台设备 ping 你的 Mac IP,应显示超时(Request timeout)
配合使用的安全建议
隐身模式单独启用效果有限,建议组合配置:
- 取消勾选“自动允许已签名的软件接收传入连接”——避免恶意签名程序悄悄开后门
- 如非必要,禁用“文件共享”“远程登录”“屏幕共享”等服务,它们会绕过隐身逻辑主动监听端口
- 在“防火墙选项”中手动添加常用工具(如 OBS、Raycast、自研开发服务),明确设为“允许传入连接”,避免误拦
- 公共 Wi-Fi 下务必开启隐身模式;家庭网络中若需 AirDrop 或隔空播放,可临时关闭,用完再开











