适用对象 Mac 用户

如何在 Mac 上阻止应用程序访问互联网

要暂时阻止某个 Mac 应用程序访问互联网,请在 Throttlr 中选择该应用程序并启用其下载和上传阻止。该规则适用于该应用程序而不是整个 Mac,并且您可以通过相同的控件重新打开访问权限。

发布日期

Throttlr 控件显示 macOS 上 Firefox 的网络流量被阻止
Throttlr 显示实时流量,并提供单应用下载和上传控制。

如何阻止一个 Mac 应用程序访问互联网

在 Mac 上暂时阻止某个应用程序使用网络的直接方法是运行 Throttlr 的代理,选择该应用程序,然后打开其下载和上传阻止。为该应用程序捕获的新连接将停止,而其他应用程序继续使用 Mac 的连接。当您想要恢复访问时,请禁用同一面板中的控件。

应用级规则适用于 Throttlr 归属于该应用的流量,包括分组帮助程序标识符。它不会为单个网站、域、端口或服务器创建例外。如果您需要允许一个目标而拒绝另一个目标,请改用连接规则防火墙。如果您只需要防止一项传输占满连接,限速通常比拦截造成的中断更小。

Throttlr 还将互联网和本地网络呈现为单独的聚合目标。这些目标可让您独立控制广泛的流量范围,但它们与应用程序级规则不同:阻止一个选定的应用程序可能会影响该应用程序捕获的互联网和本地网络流量,而其他应用程序仍然可用,除非您应用范围更广泛的规则。

为什么内置 macOS 防火墙不是传出应​​用程序拦截器

macOS 中的防火墙主要用于控制传入连接:由另一台计算机发起并尝试访问 Mac 上的应用程序或服务的流量。其设置可以阻止传入连接、允许签名软件并启用隐身模式。当您运行文件共享、远程访问、本地服务器或接受连接的其他服务时,这些控件非常有用。

这与阻止 Mac 上的应用启动传出连接不同。上传文件的同步客户端、下载版本的更新程序或向其自己的服务发送请求的应用程序正在创建出站流量。因此,更改内置防火墙的传入应用程序列表并不是防止该活动的通用解决方案。

Apple 将防火墙记录为防止不需要的传入连接。对于每个应用程序的传出控制,您需要基于网络扩展的流量控制器或专为出站规则设计的应用程序防火墙。 Throttlr 专注于监控、带宽上限和临时定向阻止,而不是提示每个新目的地。

阻止与限制

阻止和限制解决不同的问题。阻止是一种硬停止:阻止的上传无法离开,阻止的下载也无法通过捕获的流到达应用程序。当您测试离线行为、需要停止传输或希望应用程序保持断开连接直到您有意恢复访问时,请使用它。

限速可以让流量继续以受控的速率进行。当备份、云同步、游戏更新或浏览器下载需要继续进行而不消耗整个连接时,这通常是更好的选择。单独的上传和下载控制很重要,因为即使下载速度看起来正常,饱和的上传容量也会中断通话和交互工作。

当连续性很重要时从限速开始,然后如果应用程序必须不再继续前进,则使用阻止。对于离线测试,请阻止两个方向。对于单向实验,例如观察应用程序在仍能收到响应的情况下如何处理失败的上传,仅控制相关方向并在实时流量视图中验证结果。

阻止和恢复应用程序的网络访问

  1. 安装Throttlr,打开它,然后启动代理。当 macOS 询问时,在系统设置中批准其网络扩展;在该权限处于活动状态之前,代理无法检查或控制流。
  2. 确认 Pro 或 Pro 试用版处于活动状态。没有当前的 Pro 授权时,Throttlr 只执行一条规则,速度为 1 MB/s,其他应用程序的规则会被保存,直到 Pro 恢复。
  3. 启动目标应用程序并生成一些网络活动,以便它出现在应用程序列表中。如果助手或后台服务拥有该传输,则它可能会显示为单独的行。
  4. 选择应用程序并打开其阻止控件。当您希望应用程序表现得好像其捕获的网络访问不可用时,请启用下载和上传阻止。
  5. 如果 Throttlr 警告应用程序已在运行,请退出并重新打开应用程序。然后,新连接将在当前代理提供程序下启动,而不是保留在旧路径上。
  6. 重复通常使用网络的操作并观察应用程序行和互联网总数。测试新的请求,而不是依赖可能已缓存的内容。
  7. 禁用这两个块以恢复访问。在删除任何其他故障排除更改之前重试请求并确认流量恢复。

比较 macOS 上控制应用流量的方法

正确的工具取决于您是否需要传入防火墙、详细的目标规则、简单的应用程序级阻止、带宽整形或实际的不利网络测试。这些产品有重叠,但不可互换。

用于阻止、限制或调节网络流量的 macOS 工具
工具流量方向规则范围带宽控制适用场景
macOS Firewall传入连接对应用和服务的传入访问否保护接受 Mac 连接的服务
Throttlr捕获的上传和下载应用程序、后台服务、互联网或本地网络目标单独的上传和下载上限监控、限制或暂时停止应用流量
Little Snitch传入和传出规则应用程序、服务器、域、端口、协议和规则组不定位为带宽限制器详细的连接策略和目标级别决策
LuLu传出连接进程或特定远程目标否免费、开源的传出连接规则和警报
Radio Silence传出应用程序连接应用程序及其子进程否安静、简单的应用程序级防火墙
Network Link Conditioner系统或开发设备网络状况网络状况配置文件而不是单个Mac应用程序基于配置文件的调节,而不是每个应用程序的上限在更广泛的不利网络条件下测试行为

产品功能可能会发生变化。链接的官方文档是每个第三方行的来源。 Throttlr 并不是目标级防火墙规则的替代品,它的带宽上限不会重现延迟、数据包丢失、DNS 故障或真实网络的所有属性。

阻止或限制一个应用程序的实际原因

  • 暂停云同步而不断开整个Mac。临时阻止可以停止捕获的传输,同时浏览器、调用和不相关的工作继续进行。当连接空闲时恢复访问。
  • 在时间敏感的工作期间停止更新。如果应用程序或其更新程序启动大量传输,请阻止拥有流量的行并验证速率是否下降,然后再继续通话或演示。
  • 测试离线和恢复行为。开发人员和 QA 工程师可以阻止两个方向,练习加载和重试状态,然后删除阻止以确认应用程序恢复而无需重新启动。
  • 保护呼叫免受带宽密集型任务的影响。当后台作业应继续时,首选上传或下载上限;仅当传输可以安全地完全停止时才使用块。
  • 识别哪个进程拥有不明流量。使用实时应用程序行和互联网聚合,然后检查助手和后台服务,然后决定控制哪个目标。

对仍显示为已连接的应用程序进行故障排除

  1. 验证代理是否正在运行,并且 Throttlr 的网络扩展在系统设置中保持启用状态。如果提供商当前不活跃,则单独的监控数据可能会过时。
  2. 确认相关的阻止切换保持启用状态;如果您阻止多个应用程序,还需确认 Pro 处于活动状态。阻止下载和上传,除非测试故意允许一个方向。
  3. 使用 Command-Q 退出目标应用程序,并在代理处于活动状态后重新打开它。对于继续在 Dock、菜单栏或后台运行的应用程序来说,关闭窗口是不够的。
  4. 如果您经常使用 Throttlr,请启用登录时启动。在其他应用程序之前启动提供程序可以减少在当前会话之外创建长期连接的机会。
  5. 生成新的网络请求。先前加载的页面、缓存的媒体、本地文件和排队的 UI 状态可以使应用程序看起来在线,而无需证明新流量已通过。
  6. 查找帮助程序、更新程序、XPC 服务或签名的后台服务行。可见的应用程序进程并不总是打开连接的进程。
  7. 将所选行与互联网总数进行比较。总数包括从 macOS 服务、帮助程序、新启动的应用程序以及最近关闭的应用程序捕获的非本地流量,这些应用程序可能与您阻止的行不匹配。
  8. 如果工作流程使用打印机、NAS、开发服务器或其他 LAN 设备,还请检查本地网络目标。互联网和本地目的地在总体层面上是分开分类的。
  9. 故障排除完成后,删除该块并重试。确认相同的请求恢复有助于区分成功的阻止与不相关的服务器或应用程序故障。

了解帮助程序、后台服务和现有连接

许多 Mac 应用程序将网络委托给帮助程序可执行文件、登录项、XPC 服务、更新程序或其他后台进程。当 Throttlr 可以识别该关系时,它会将帮助程序包标识符与父应用程序分组。独立签名的服务可以显示为自己的目标,并且控制主应用程序行可能无法控制单独服务行拥有的流量。

两个 Throttlr 版本都可以在观察流量后显示已签名的后台服务。直接下载版本可以检查正在运行的进程以获得更丰富的服务元数据。由于 App Store 沙箱限制,App Store 版本会要求您在 Throttlr 重新打开受影响的应用程序之前手动退出该应用程序;直接版本通常可以为您执行退出并重新打开工作流程。在任一版本中,流量控制在重新启动期间仍保持安装状态。

当前代理提供程序启动之前存在的连接是一个单独的问题。 Apple 的网络扩展 API 并不总是能够将这些较旧的连接移至新启动的提供商之下。限制或阻止可能会影响某些捕获的流,而较旧的流仍在继续。退出并重新打开应用程序,或者重新启动独立运行的后台服务,以便它在活动提供程序下建立新的连接。

将互联网总数视为独立的安全检查,而不是可见应用程序行的数学总和。如果应用程序行停止后总数继续变化,则另一个应用程序、帮助程序、系统服务或不匹配的进程可能会拥有该流量。

常见问题解答

内置 macOS 防火墙可以阻止应用程序连接吗?

不作为一般的传出应用程序控件。 Apple 的防火墙设置重点关注 Mac 上应用程序和服务的传入连接。当应用程序本身发起连接时,请使用出站应用程序防火墙或流量控制器(例如 Throttlr)。

我应该阻止上传、下载还是两者都阻止?

阻止两个方向,以最接近地使应用程序在捕获的流量内离线。当被测行为需要另一个方向保持可用时,仅阻止一个方向,并在实时流量视图中验证结果。

阻止一个应用程序会断开我 Mac 的其余部分的连接吗?

应用级规则以归因于该应用及其分组帮助程序的流量为目标。其他应用程序会正常继续,除非您还阻止聚合互联网或本地网络目标。单独标识的帮助者或服务可能需要自己的规则。

为什么应用程序在我阻止后仍然可以显示旧内容?

内容可能已缓存或已加载,并且现有连接可能早于活动代理会话。在确定阻止失败之前,退出并在正在运行的提供程序下重新打开应用程序后尝试新的请求。

Throttlr 是否会取代 Little Snitch 或 Network Link Conditioner?

没有。 Throttlr 专为每个应用程序监控、定向带宽上限和临时阻止而设计。 Little Snitch 提供详细的目标级别防火墙规则,而 Network Link Conditioner 则模拟更广泛的网络条件。选择与您需要的测试或策略相匹配的工具。

需要有关设置、现有连接或许可的帮助?请阅读 Throttlr 常见问题.

相关指南