如何识别 Mac 上的可疑网络活动
如何在早期发现 Mac 上的异常网络活动:工具、信号,以及哪些模式才真正意味着出了问题。
- Security
- macOS
- Network monitoring
- Privacy
凌晨 2 点你的风扇转起来。一个朋友提到银行标记了异常登录。你读到一篇关于会窃取开发环境变量的恶意 npm 包的帖子。突然你 Mac 的每一次小动静都感觉可疑。多数时候不是——macOS 设计上就话多——但能区分正常背景噪声和 Mac 用户实际应该调查的可疑网络活动是值得拥有的技能。这里是平静的清单,不贩卖恐惧。
从这个先验开始:健康 Mac 上多数意外流量是良性的。iCloud、Time Machine、推送通知、软件更新、你装的应用的遥测——它们都在奇怪时间产生流量。这份清单的重点是识别真正值得多看一眼的小一组规律。
"正常噪声"长什么样
在你能识别可疑信号之前,得知道你信任的 Mac 上后台流量长什么样。
Apple 系统服务
它们以你不立即认得的 PID 出现。常见:
cloudd— iCloud 同步(照片、云盘、iCloud 钥匙串)bird— 也是 iCloud(是的,两个守护进程)apsd— Apple 推送通知服务(始终在线,低速率)nsurlsessiond— 后台 URLSession 传输(App Store、OS 更新、到网络目标的 Time Machine)softwareupdated— macOS 更新检查(偶尔爆发)gamed、imagent、identityservicesd— Game Center、iMessage、FaceTime 状态mDNSResponder— 本地 Wi-Fi 上的 Bonjour 发现(仅本地,不上互联网)syspolicyd、trustd— 代码签名和证书校验(小,频繁)parsecd、Siri系列 — Spotlight 建议、Siri
如果你按字节排序只看到这些名字加上你的浏览器和聊天应用,你 Mac 没事。
第三方"同步"应用
任何承诺"文件无处不在"的都在持续跑:
- Dropbox、Google Drive、OneDrive、Box
- 1Password 同步、Bitwarden
- Notion、Obsidian Sync、Bear、Things
- Spotify、音乐(目录更新、同步)
- VPN 客户端(TailscaleApp、NordVPN)——保持隧道存活
它们的流量稳态时小,你改变它们同步的东西时爆发。稳态空闲流量是正常的。
后台浏览器
Chrome 和 Safari 保持着到扩展更新服务器、同步端点和你忘了的钉住标签页(一个 Slack 网页标签、一个日历、一个 YouTube Music 标签)的连接。空闲浏览器还在动字节。
Mac 用户应该调查的可疑网络活动信号
现在到真正可疑的规律。这些值得仔细看一下——不要恐慌,只是看看。
1. 已知进程到未知目的地
你信任的进程(比如你的 IDE 或上个月装的小工具)在连一个你不认识的 IP 段。值得查。最简单的工具:
lsof -i -P -n -p <PID>— 那个 PID 打开的每条连接,带远程 IP 和端口- 对 IP 跑
whois,或反向 DNS 查(dig -x <ip>) - 搜那个 IP——多数合法云端点(AWS、GCP、Azure、Cloudflare)立刻能认出
这里"可疑"指:小工具连到住宅 ISP IP 段、盗版应用打到你不认识的域、来自 npm 或 pip 的 CLI 工具 ping 一个跟它用途没明显联系的服务器。
2. 来自你机器的非时间段上传
凌晨 3 点稳定上传、来自一个没有上传理由的应用——那是真信号。这一项要小心:合法情况包括到网络目标的 Time Machine、iPhone 备份后追账的照片同步、以及大型 iCloud 云盘同步。
但如果是你不认识的应用、持续一小时、发送几百兆、你睡着——查它。
3. 不寻常端口
多数现代应用走 443 上的 HTTPS 或 80 上的 HTTP。一些合法例外:SSH (22)、邮件 (25/465/587/993/995)、DNS (53/853)、数据库客户端 (5432, 3306, 27017, 6379)、游戏客户端(看它们选什么范围)、VPN(1194、WireGuard 用 51820)、Tailscale(41641 UDP)。
到 4444、6667(IRC)这种端口,或没明显原因到任意高端口的出站,值得瞄一眼。一个只在非标端口讲话从不用 443 的应用同样如此。
4. 一个应用的反复重连
一个进程开了一个连接,关闭,再开一个,循环每几秒一次。可能是配置错的 VPN 在重连。可能是 Electron 应用的渲染器在循环崩。可能是信息窃取者在尝试通过不稳定代理回家。
连接率(每秒每进程的连接数)比字节率是更敏感的信号。
5. 一个你没装的新进程
带一个你从没见过的名字出现在你带宽列表里、/Applications 下没有 .app 包、可执行文件在 /tmp 或你不记得加过的 ~/Library/LaunchAgents 里。这是规范化的恶意软件形态。检查:
launchctl list | grep -v com.apple…看不是 Apple 的活跃 launchd 任务。还有:
ls -la ~/Library/LaunchAgents/ /Library/LaunchAgents/ /Library/LaunchDaemons/…看持久化文件。多数条目是合法的(Dropbox、Spotify 等),但你不认识的,去查。
6. 通常安静的进程突然尖峰
Spotlight(mds_stores)通常不做网络 I/O。一个代码签名守护进程不该在上传。一个合法进程突然在它的类别外行动是个信号——有时是软件更新改变了行为,有时是别的原因。
平静的清单
在恐慌之前跑这份清单。约十分钟。
- 看活动监视器 → 网络标签页。 按"发送数据/秒"和"接收数据/秒"排序。记下前五里你不认识的。
- 对每个未知进程:右键 → 检查 → 打开文件和端口。 它在跟什么地址通信?bundle 路径在
/Applications下?在~/Library下?在/tmp下? - 查 bundle ID。
mdls -name kMDItemCFBundleIdentifier <path>。搜它。合法应用显示清晰结果。 - 检查 launchd 持久化。
launchctl list | grep -v com.apple和上面列的 LaunchAgents/Daemons 文件夹。 - 检查统一日志里那个进程。
log show --last 1h --predicate 'process == "Suspicious"' --info——它在做什么? - 检查已装扩展。
systemextensionsctl list看网络扩展。你没装的,去查。 - 跑一个声誉不错的扫描器。 Malwarebytes for Mac 和 KnockKnock(来自 Objective-See)都是免费且口碑好。它们不是绝对无敌但能抓明显的。
- 如果还不确定,截图问人。 可疑进程的"检查"面板截图加上 launchctl list 的粘贴,对有经验的人足够分诊。
看 ova 实战
一眼可瞄的菜单栏带宽监控——本地、签名、约 3 MB。
为什么被动监控帮得上忙
调查可疑活动最难的部分是它发生时你在场。等到风扇转起来,作恶进程可能已经停了。等你打开活动监视器,尖峰已经过去。
像 ova 这种菜单栏带宽监控帮上忙是因为它被动且连续。它约 1 Hz 采样并把历史本地存储,所以当你终于注意到风扇时,可以拖回过去几小时看那段时间网络精确长什么样。按应用、辅助归并、在时间线上。
那不替代真正的 EDR 工具(那些为严肃威胁模型存在),但对个人使用,它显著改善你看到所找信号的几率。
看着吓人但通常不是的事
一份"这看起来可疑但其实正常"的简短清单:
- 新 Wi-Fi 网络上
mDNSResponder的爆发。 Bonjour 发现。正常。 identityservicesd在连 Apple 服务器。 iMessage / FaceTime 状态。正常。apsd维持着到*.push.apple.com的长连接。 推送通知。正常。com.apple.geod偶尔伸出去。 地图和定位服务。正常。triald、parsecd、searchpartyd。 Apple 研究 / Spotlight / 查找。正常。softwareupdated活动后立刻巨大下载爆发。 macOS 更新。正常。- 到
17.x.x.x的连接。 那是 Apple 的 IP 段。正常。
不确定时,搜进程名加 "macOS"——多数 Apple 守护进程都有充分文档。
真正罕见的事
对个人管理的 Mac,真正入侵对这些用户不常见:
- 坚持用 App Store 和已公证应用
- 不跑盗版软件
- 不读就粘贴随机网站的 shell 脚本
- 让 macOS 保持最新
- 不在关键账号上重复用密码
今天最常见的真实威胁不是"Mac 病毒",而是与破解应用捆绑的窃取者恶意软件、针对开发者的恶意 npm/pip 包,以及让你跑 curl-pipe-bash 命令的钓鱼页面。防御跟一直以来一样:当心你装什么、当心你往终端粘什么。
收尾
Mac 用户实际需要担心的可疑网络活动真实存在,但比感觉的稀少。多数无法解释的流量是 iCloud、Apple Push、同步应用,或者忘了的浏览器标签页。值得调查的信号是:熟悉进程到未知目的地、不该上传的应用在非时间段上传、反复重连、不寻常端口,以及 launchd 中出现不熟悉的进程。上面那份平静清单约十分钟,多数情况下都能解决。
对被动、持续的觉察,让你在感觉不对时能回头看,装 ova——约 3 MB,macOS 14 及以上,Apple Silicon 和 Intel,约 1 Hz 采样,所有数据留在你本地磁盘。不是防火墙,不是 EDR——只是一个清晰的视图看你的应用在做什么,需要时可用。