univrsal/waechter
GitHub: univrsal/waechter
基于 eBPF 的 Linux 流量监控与整形工具,支持按连接维度进行流量统计、阻止和限速。
Stars: 21 | Forks: 1



[](https://github.com/univrsal/waechter/actions/workflows/build-ubuntu.yml)
[](https://github.com/univrsal/waechter/actions/workflows/build-emscripten.yml)
[](https://github.com/univrsal/waechter/actions/workflows/build-windows.yml)
[](https://github.com/univrsal/waechter/actions/workflows/build-macos.yml)
一款 Linux 流量监控与整形工具。
Wächter 使用 [eBPF](https://ebpf.io/) 监控网络流量,并执行规则以阻止或限速连接。它分为三个部分:
- 一个挂载到 Linux 内核的 eBPF 程序,用于收集流量数据并执行规则
- 一个加载 eBPF 程序的 daemon,从中读取数据并跟踪网络使用统计和规则
- 一个用于编辑和查看规则及流量统计的客户端 GUI
构建要求:
- [libbpf](https://github.com/libbpf/libbpf)
- [CMake](https://cmake.org/)
- 支持 eBPF 的较新 Linux 内核
- 用于创建 vmlinux.h 的 `bpftool`
- 用于编译 eBPF 程序的 `clang` 和 `llvm`
如果你有问题,可以使用 [讨论区](https://github.com/univrsal/waechter/discussions)、irc.rizon.net 上的 IRC 频道
[#waechter](https://rizon.net/chat) 或 [Discord 服务器](https://discord.gg/kZsHuncu3q)。
### 路线图
Wächter 仍在开发中,目前已实现的功能包括:
- 监控每个连接的网络流量(上传和下载)
- 查看连接信息(本地/远程端点、主机名)
- 阻止每个连接的上传/下载
- 限速每个连接的上传/下载
- 连接历史记录,用于记录哪个应用程序建立了哪些连接
计划中的功能:
- 在启动时保存和加载的持久化规则
- 长期流量统计和图表
未来可能的功能:
- 基于优先级的流量整形
- 流量配额
- 按 IP/端口等划分的全局规则
标签:Bash脚本, C++, CMake, Docker镜像, libbpf, QoS, UML, 主机防御, 内核编程, 守护进程, 带宽控制, 数据包过滤, 数据擦除, 流量整形, 流量监控, 系统工具, 网络安全, 跨平台客户端, 防火墙, 隐私保护