睿诚科技协会

mac 阻止应用程序连接网络

使用 macOS 内置功能(最推荐、最安全)

对于大多数用户来说,使用 macOS 自带的“网络”偏好设置中的防火墙和“应用防火墙”规则是最直接、最安全的方法。

mac 阻止应用程序连接网络-图1
(图片来源网络,侵删)

步骤 1:确保防火墙已开启

确保你的系统防火墙是开启的,这是所有网络控制的基础。

  1. 打开 系统设置 (System Settings)。
  2. 在左侧边栏点击 网络 (Network)。
  3. 点击右下角的 防火墙 (Firewall) 按钮。
  4. 如果防火墙是关闭的,点击 防火墙选项... (Firewall Options...),然后点击 锁形图标 并输入你的管理员密码来解锁。
  5. 确保 启用防火墙 (Enable Firewall) 是勾选状态,你也可以选择 阻止所有传入连接 (Block all incoming connections),但这会阻止其他设备访问你的 Mac(如文件共享、AirDrop等),一般不建议普通用户使用,保持默认的 启用防火墙 即可。

步骤 2:添加阻止特定应用程序的规则

这是核心步骤,通过“自动允许的列表”来管理哪些应用可以联网。

  1. 在同一个 防火墙 设置页面,点击 防火墙选项...
  2. 在弹出的窗口中,你会看到一个 自动允许的列表 (Automatically allow signed software to receive incoming connections),这个列表里的应用是系统默认允许联网的。
  3. 我们需要做的是 从这里移除 你想要阻止的应用。
  4. 点击列表下方的 - (减号) 按钮。
  5. 从列表中选择你想要阻止联网的应用程序,然后点击 移除
  6. 点击 保存设置。

工作原理: 当你从“自动允许的列表”中移除一个应用后,系统防火墙会阻止该应用的所有传入和传出网络连接,对于大多数应用来说,这已经足够阻止其联网了。


使用第三方防火墙软件(功能更强大)

如果你需要更精细的控制,比如按端口号、协议(TCP/UDP)或 IP 地址来阻止,或者需要一个更友好的用户界面,那么第三方防火墙是更好的选择。

mac 阻止应用程序连接网络-图2
(图片来源网络,侵删)

推荐软件:LuLu

Luulu 是一款免费、开源且广受好评的防火墙,它基于 macOS 的 PF (Packet Filter) 构建,但提供了更易于管理的图形界面。

  1. 下载与安装:

    • 访问 LuLu 的官方网站:https://objective-see.org/products/lulu.html
    • 下载并安装,首次打开时,需要你在 系统设置 > 隐私与安全性 中授予其完全磁盘访问权限,并允许其在后台运行。
  2. 使用 LuLu 阻止应用:

    • 打开 LuLu,主界面会显示所有尝试进行网络连接的活动。
    • 点击左下角的 规则 (Rules) 按钮。
    • 你会看到一个应用程序列表,找到你想要阻止的应用。
    • 右键点击该应用,在弹出的菜单中选择 Block (阻止)。
    • LuLu 会询问你阻止的规则,你可以选择:
      • Block All (阻止所有):阻止该应用的所有网络活动。
      • Block Incoming (阻止传入):只阻止外部连接到该应用。
      • Block Outgoing (阻止传出):这是你需要的选项,阻止该应用主动连接到外部网络。
      • 你还可以设置更具体的规则,比如只阻止连接到特定域名或 IP 地址。

LuLu 的优点:

mac 阻止应用程序连接网络-图3
(图片来源网络,侵删)
  • 功能强大:可以精确控制出站和入站连接。
  • 日志清晰:所有网络活动都有详细记录,方便排查问题。
  • 免费:对个人用户完全免费。
  • 社区支持好:更新和维护活跃。

使用终端(命令行,适合高级用户)

如果你熟悉命令行,可以使用 macOS 内置的 pf (Packet Filter) 来实现更底层的网络控制,这种方法非常灵活,但配置也最复杂,且容易出错。

警告: 此方法需要谨慎操作,错误的配置可能会导致网络中断。

  1. 创建规则文件:

    • 打开 终端 (Terminal) 应用。
    • 创建一个规则文件,sudo nano /etc/pf.anchors/com.blockapps
    • 在文件中添加你想要阻止的应用程序,你需要知道应用程序的可执行文件路径,要阻止 Chrome:
      block out quick from any to any port 80,443 proto tcp user "your_username" program "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
      • block out:阻止传出连接。
      • quick:匹配到此规则后立即停止处理。
      • from any to any:从任何地方到任何地方。
      • port 80,443:可选,指定阻止的端口(HTTP/HTTPS)。
      • user "your_username":指定运行该程序的用户。
      • program "...":指定应用程序的完整路径。
    • Ctrl + X,然后按 Y 和回车键保存并退出。
  2. 加载规则到主 pf 配置文件:

    • 编辑主 pf 配置文件:sudo nano /etc/pf.conf
    • 在文件末尾添加一行,引用你刚刚创建的锚点:
      anchor "com.blockapps"
    • 保存并退出。
  3. 启用并加载规则:

    • 在终端中运行以下命令来加载并启用规则:
      sudo pfctl -f /etc/pf.conf
      sudo pfctl -e
    • 要临时禁用规则,可以使用:sudo pfctl -d
  4. 恢复:

    • 如果出现问题,你可以通过编辑 /etc/pf.conf 并移除 anchor "com.blockapps" 这一行,然后重新运行 sudo pfctl -f /etc/pf.conf 来恢复。

总结与对比

方法 优点 缺点 适用人群
macOS 内置防火墙 - 系统原生,最安全稳定
- 无需安装额外软件
- 操作简单直观
- 控制粒度较粗,只能完全阻止或允许应用
- 无法按端口、IP 精细化控制
绝大多数普通 Mac 用户
第三方防火墙 (如 LuLu) - 功能强大,可精细控制出站/入站连接
- 详细的网络日志
- 界面友好,易于管理
- 需要下载安装第三方软件
- 需要授予较高权限
需要高级网络控制、注重隐私或开发者
终端 (pf) - 极致灵活,可定制任何规则
- 无需图形界面
- 操作复杂,门槛高
- 容易因配置错误导致网络问题
- 无日志界面
高级用户、系统管理员、开发者

推荐流程

  1. 首选尝试方法一(macOS 内置防火墙),对于 95% 的阻止应用联网的需求,这已经足够了。
  2. 如果方法一无法满足你的需求(你只想阻止应用访问某个特定的网站,而不是全部),或者你想要更详细的网络活动记录,升级到方法二(使用 LuLu)
  3. 只有当你是一名经验丰富的用户,并且需要编写非常复杂的网络规则时,才考虑使用方法三(终端命令行)。
分享:
扫描分享到社交APP
上一篇
下一篇