如何审计 Mac 的网络活动
20 分钟即可完成的可重复审计流程,让你掌握 Mac 在和谁通信,并决定哪些该保留。
- Security
- Privacy
- macOS
- Network monitoring
你每季度留二十分钟审计 Mac 网络活动,唯一问题是你有没有一个能真正跑的流程,还是又要靠 nettop 加笔记本随机来一次。这指南给你一个可重复的 20 分钟脚本:扫、审、主机名核查、日志保留、行动项。每次以同样方式跑。跟上季度比。发现漂移。
这是不把它变成整下午的 Mac 网络活动审计方式。
为什么麻烦——以及你在找什么
审计的重点不是偏执。是漂移。每个 macOS 安装逐渐积累在某时开始跟互联网通信、再没停的后台服务。每季度审计抓:
- 你忘了装的应用还在每天回家。
- 一次更新后变得比以前话多的遥测端点。
- 悄悄升级了网络足迹的辅助进程(Chrome、Slack、Adobe)。
- 到你不认识的主机名的出站连接。
20 分钟审计、一年四次,足够抓到几乎所有这些。
开始前你需要什么
- 菜单栏里的网络监控。 ova 是这指南用的。约 3 MB,约 1 Hz 采样按应用速率,把辅助进程归并到父应用下。
nettop— 内置。无需装。- 可选:Little Snitch 或 LuLu 做主机名级可见性。审计没它们能跑,有它们更锐利。
- 笔记应用或纯文本文件 记发现。审计仅在你能跟上次比时有用。
就这些。除监控外无额外安装、无内核扩展、无系统改动。
审计 Mac 网络活动的 20 分钟脚本
下面是日程。坚持时序——飘过 30 分钟会把每季度习惯变成"我有时间时会做",意味着永远不做。
第 0–2 分钟:定基线
退出你不需要打开的应用。保留:你浏览器、Finder、系统服务。目标是看你的"环境"网络用量——你不在主动用时 Mac 在做什么。
从菜单栏打开 ova。记下合计上/下速率。空闲 Mac 上,你预期推送通知心跳、iCloud 和 Spotlight 几 KB/s。空闲时持续超过 100 KB/s 值得看。
第 2–7 分钟:nettop 扫
打开终端。跑:
nettop -P -m route -L 5 > ~/Desktop/nettop-$(date +%Y%m%d).txt-L 5 捕获五个样本(默认每秒一个),然后退出。输出到桌面带日期文件——你后面会留它做保留。
它跑时你什么也别做。五秒,然后看文件。你会看到这种行:
Slack.21341 in:1.2KB out:823B
Google Chrome.41203 in:48KB out:9KB
WhatsApp.55102 in:512B out:0B扫你不认识的。你说不出名字的是线索。
第 7–12 分钟:你监控里的按应用审
切到 ova。打开按应用列表。按过去一小时(或应用默认显示的最长窗口)总字节排序。
对前 10 里每个应用问:
- 这个应用现在该不该在网络上? 音乐播放器——是。PDF 阅读器——大概不。
- 量合理吗? Slack 持续 30 KB/s 正常。Slack 持续 3 MB/s 不寻常。
- 这个应用是我故意装的还是遗留? 如果是遗留,卸载。
辅助进程归并在这里重要。没有它,前 10 填满 Google Chrome Helper (Renderer)、Slack Helper (GPU)、Discord Helper (Plugin) 这种行。有归并,每个折到父应用下,你能真正读列表。
第 12–16 分钟:主机名核查
这里 Little Snitch(或 LuLu)配得上自己位置。如果你装了,打开网络监控视图,看审计窗口期间按进程的主机名。
如果你没有防火墙级工具,你还能通过 tail 统一日志做部分主机名核查:
log show --predicate 'subsystem == "com.apple.network.connectivity"' --style compact --last 20m | head -200输出密集,但搜 connect to 或具体应用名会浮现域提示。
你在找的:
- 不熟悉的主机名。 在浏览器里搜域。合法遥测端点通常有有文档的目的。
- 频繁连接到广告/跟踪域。 常见元凶:
*.doubleclick.net、*.scorecardresearch.com、*.googletagmanager.com。浏览器扩展能帮(uBlock Origin),但对原生应用,防火墙规则是答案。 - 到你不预期国家的连接。 不本质坏——许多 CDN 是区域性的——但值得记下。
第 16–18 分钟:日志保留
把你生成的 nettop-YYYYMMDD.txt 文件移到一个文件夹,例如 ~/Documents/network-audits/。可选地把 ova 里的按应用摘要导出为截图。
为什么保留:你第一次审计只是快照。你第二次成了对比。到第三次,你能发现趋势——"Adobe 流量在 Q2 翻倍"或"Spotify 更新后从 200 KB/s 到 800 KB/s"。
一个平的文本文件和截图文件夹够了。不需要花哨工具。
第 18–20 分钟:行动项
写下三到五个具体行动。来自真实审计的例子:
- "卸载 MagicScreenshotPro——去年用了两次,每次启动跟遥测通信。"
- "在 Little Snitch 阻断 Adobe
*.adobe.io——只需要它做许可证检查,那能优雅失败。" - "调查
mds_stores14 MB 出站尖峰——大概是 Spotlight 重建索引,但下次审计确认。" - "加 Quad9 DNS 描述文件。"
- "在 Microsoft Word 禁用分析。"
三到五是合适数字。多了你不会做。少了审计没浮现什么,通常意味着你看得不仔细。
带实时视图跑审计
ova 显示实时按应用速率和可拖动历史——本地、签名、约 3 MB。
季度间值得跟踪什么
跟你上次审计对比值得看的几件事:
| 信号 | 为什么重要 |
|---|---|
| 空闲基线流量 | 漂移上意味着有新东西话多 |
| 按字节/天前 5 应用 | 揭示新进入者或增长 |
| 不同主机名数量 | 上升 = 联系了更多服务 |
| 在跑的后台辅助 | Adobe / Office 经常通过更新加新的 |
| 带内核/网络扩展的应用 | 每个都是信任委托 |
你不需要电子表格。每次审计四行注释够了。
常见发现(以及怎么做)
"我卸载的应用还在网络上"
一些应用留下 LaunchAgents。列出它们:
ls ~/Library/LaunchAgents/ /Library/LaunchAgents/ /Library/LaunchDaemons/绑到已卸载应用的任何东西——com.example.helper.plist——能移除。先 launchctl unload,然后删除。下季度再审计确认它消失。
"活动监视器显示的数字跟我菜单栏工具不一样"
活动监视器的网络标签页从进程启动以来计数。菜单栏监控按滚动窗口计数。同一份内核数据上的不同镜头——都诚实,只是测量不同区间。
"我看到稳定 50 KB/s 我说不清来源"
按顺序怀疑:iCloud 同步、网络上 Time Machine、Spotlight 重建索引、Backblaze/Carbonite 风格备份、Dropbox/Drive 同步、OS 更新下载。nettop -P 会命名 PID。多数合法。退出怀疑应用并看速率降确认。
审计期间的隐私考虑
如果你保存日志,那些日志包含主机名和时间戳——敏感元数据。本地存,不要在 iCloud 云盘同步文件夹里,除非你接受。更好是跑端到端留本地的审计:
- 在磁盘留历史的监控(无云面板)。
nettop输出存本地文件夹。- 笔记在本地文本文件,不在云同步文档里。
ova 设计上符合这个剖面——没有远程面板、没有账号、无遥测。带宽历史在你 Mac 上、别处没有。
更大的画面:为什么监控搭配防火墙
审计产生发现。一些发现是"我该阻断这个"。那是 Little Snitch(或 LuLu)登场的地方——设规则,下季度再审计确认规则保持。
常见模式:
- 审计识别话多的 Adobe 更新器。
- Little Snitch 规则:拒绝 Adobe 更新器出站。
- ova 下次你启动 Photoshop 时确认更新器流量现在为零。
监控和防火墙做不同事。真正的审计循环你要两个都有。
收尾
每季度 20 分钟习惯审计 Mac 网络活动,抓住把干净 Mac 变话多的漂移。脚本是:空闲基线、nettop 快照、带辅助归并的按应用审、主机名核查、日志保留、三到五个行动项。每次以同样方式跑。跟上次比。对发现行动。
挑一个日期——季度最后周五、长周末早上、任何能坚持的。现在加进日历。审计习惯最难的部分是开始;一旦你 ~/Documents/network-audits/ 里有一个历史文件,你会想要第二个。