需求场景
想知道哪个进程在悄悄联网、连的是什么地址,并在出现新连接时弹出通知或提示。
Windows:Windows Firewall Notifier(WFN)
GitHub: LeBlue/wfn
基于 Windows 内置防火墙的审计日志,当有进程触发出站连接时弹出通知气泡,可以选择「允许」或「拒绝」,行为类似 macOS 的 LuLu。
特点:
- 不需要驱动,利用 Windows 防火墙事件日志(Event ID 5156/5157)
- 支持创建防火墙规则白名单
- .NET 实现,需要 .NET Runtime
启动前需要启用 Windows 防火墙的连接日志:
# 以管理员身份运行
auditpol /set /subcategory:"Filtering Platform Connection" /success:enable /failure:enable
Windows:Sniffnet(Rust 跨平台)
GitHub: GyulyVGC/sniffnet
用 Rust 编写的网络流量监控工具,有图形界面,实时显示每个连接的进程、IP、国家、流量统计。
特点:
- 跨平台(Windows / Linux / macOS)
- 可过滤特定进程或协议
- 流量图表可视化
- 不能主动拦截,只做监控和统计
适合想直观看到哪些进程在产生流量、流量走向哪里的场景。
Linux:Picosnitch(eBPF)
GitHub: elesiuta/picosnitch
基于 eBPF 的进程网络监控,内核级捕获,开销极低。
特点:
- 记录每个进程的 DNS 查询和连接
- SQLite 存储历史
- 支持通知(desktop notification)
- 需要 Linux 5.8+ 内核和 root 权限
安装:
pip install picosnitch
sudo picosnitch start
macOS:LuLu
GitHub: objective-see/LuLu
Objective-See 出品的免费防火墙,功能类似商业的 Little Snitch。
特点:
- 新进程首次出站连接时弹出授权窗口
- 可以创建规则(允许/拒绝)
- 显示进程路径、签名、目标地址
对比
| 工具 | 平台 | 技术原理 | 能拦截 | 特点 |
|---|---|---|---|---|
| WFN | Windows | 防火墙审计日志 | 是 | 弹窗授权 |
| Sniffnet | 跨平台 | pcap | 否 | 流量可视化 |
| Picosnitch | Linux | eBPF | 否 | 低开销,历史记录 |
| LuLu | macOS | 内核扩展 | 是 | 弹窗授权,免费 |
想要拦截 + 弹窗授权:Windows 用 WFN,macOS 用 LuLu。
只想监控流量走向:Sniffnet 最直观。
Linux 生产环境审计:Picosnitch + SQLite 日志。
