除非有东西另作限制,Mac 上的每个 App 都可以访问互联网,而大多数用户无从知道哪些 App 在联网。在为 ZDNET 撰写的一篇评测中,自 20 世纪 90 年代末起就报道 Linux 和开源的 Jack Wallen,把一款名为 Firewally 的免费菜单栏 App 称为“不可或缺”,理由正在于此:它会显示哪些 App 在联网,并让他可以关闭其中任何一个。
背景
macOS 允许任何已安装的 App 访问互联网,除非有东西介入。系统设置 › 网络 › 防火墙中的内置防火墙过滤的是传入连接;它不会阻止 App 向外连接。要查看有什么离开了 Mac,并有选择地加以拦截,需要专用工具,或者借助 macOS 自带的诊断实用工具。
发现
- Firewally 免费,通过 Mac App Store 安装,仅以一个小盾牌图标的形式运行在菜单栏中,没有主窗口。
- 它会列出各个 App 的流量,可以按过去一小时、实时或整天查看。
- 每个 App 都有一个互联网访问的开关,默认策略决定它没见过的 App 如何处理:放行、询问或拒绝。Wallen 建议把默认设置从“放行”改为“询问”。
- 每个 App 的“AI 摘要”会解释它为什么可能需要访问互联网;评测没有说明这个 AI 在哪里运行。
- 设置项极少:关闭 AI 摘要,以及登录时启动。
Wallen 自己的使用场景说明了它的吸引力:为了隐私,他运行本地 AI 工具 Ollama,而它只有在下载或更新模型时才需要联网。Firewally 让他在其余时间让它保持离线,并确认没有任何内容离开 [1]。
macOS 本身提供了两种免费的方式,无需安装任何东西就能看到同样的活动。“应用程序 › 实用工具”中的“活动监视器”有一个“网络”标签页,列出每个进程发送和接收的字节数;按“已发送字节”排序,就能看到哪些 App 通信最多。在“终端”中,nettop 会显示每个进程的实时网络使用情况,lsof -i 则会列出每个打开的网络连接及其所属的 App。这两个工具都不会拦截连接;它们只显示正在发生的事情。
对 Mac 用户的影响
任何想知道自己的 Mac 在网上做什么的人,都可以从免费的选项入手:“活动监视器”和“终端”不花钱,也无需安装,只是两者都无法拦截连接。Firewally 以免费软件的形式增加了拦截功能,代价是评测中没有记录其 AI 摘要功能如何处理数据。对大多数人来说,选择在于一个免费的开关,与一个控制更多的付费工具之间。
建议
- 预计浏览器、邮件、通讯和云存储类 App 需要联网才能工作;拦截它们只会让该 App 停止工作。
- 在切断一个陌生进程之前,先查一查它的名称。Apple 自己的服务常常以并不明显属于 Apple 的名称运行,把某一个拦截一天,是观察哪里会出问题、风险较低的办法。
- 对刚安装的 App 连接到意料之外的地方,应比对每天使用、目的地可预测的 App 更加留意。
- 把新的、陌生的 App 默认设为“询问”而不是“允许”;首次连接的那一刻,会揭示 App 实际上做了什么。
与 FireAI 的关系
FireAI 做的核心工作与评测中的 App 相同,即按 App 控制出站连接,并在几个方面作了扩展。试用期结束后它不再免费,所以相关的问题是:除了开关之外,是否还需要更多。
- 新的 App 会触发连接提示,写明该 App 及其目标,并在世界地图上显示,而“为什么要拦截?”会解释这类目标通常会收到什么。
- 按 App 规则可以宽到“关闭”,也可以细到某一个域名,因此 App 可以保留更新,同时失去分析流量。
- 对于 Ollama 这类情形,定时规则可以让某个 App 除选定时段外保持离线。
- FireAI 的 AI 在 Mac 本机运行:用户可以用日常用语询问某个 App 在夜间连接了什么,而这些连接的任何信息都不会离开 Mac。
FireAI 不会扫描文件,也不会移除 Mac 上安装的任何东西,拦截某个 App 的连接也不会阻止该 App 离线时所做的事。如果一个免费的开关就够用,那么 ZDNET 评测中的 App,或者稍加留心使用“活动监视器”,也许就已经能满足需求。
局限
本文依赖单一来源。ZDNET 的评测没有说明 Firewally 的 AI 摘要功能在哪里处理数据,因此无法确认这一功能是否会把任何内容发送到 Mac 之外。评测也没有报告 Firewally 在高网络负载下的表现,也没有用真实的网络过滤器对其默认拒绝模式做独立测试。
免费试用 HisnLabs 的 FireAI 17 天。