基于 eBPF 的 Linux 终端界面工具,用于抓取和查看网络流量。
microsoft/ebpf-for-windows
在 Windows 内核上运行 eBPF 程序的实现,沿用 Linux 生态的工具链和 API。
- Star
- 3,588
- Fork
- 310
- 未关闭 Issue
- 322
- 最近提交
- 16小时前
这是什么?
eBPF for Windows 将 eBPF 编程模型引入 Windows。项目复用了现有的 eBPF 开源组件,例如 uBPF 的 JIT 编译器和 PREVAIL 验证器,并在其上增加 Windows 运行环境,使用 clang 等标准工具链编译的程序可以加载到内核中。项目提供兼容 Libbpf 的 API,并支持 bpftool 等命令行工具来加载和管理程序。
程序有三种运行方式:原生模式会把字节码转换为 C 代码并编译为 Windows 驱动,是推荐方式,也能在启用 HVCI 的系统上运行;JIT 模式通过用户态服务编译执行;解释器仅存在于调试版本中。程序可挂载到内核 hook 上,并调用封装了 Windows 公开内核 API 的辅助函数。项目支持 Windows 11 及 Windows Server 2022 及以上版本。
核心功能
- 01在 Windows 上运行由 clang 等标准工具链编译的 eBPF 程序。
- 02提供兼容 Libbpf 的 API,并支持 bpftool 加载程序。
- 03原生模式将 eBPF 字节码编译为 Windows 驱动,可在启用 HVCI 的系统上运行。
- 04基于 uBPF 编译器提供 JIT 编译执行路径。
- 05提供挂载点和辅助函数,封装了 Windows 公开内核 API。
适用场景
- 借助 eBPF 工具链在 Windows 内核中实现可观测性或 DoS 防护逻辑。
- 将基于 eBPF 的网络或追踪程序以较少的源码改动移植到 Windows。
- 在启用 HVCI 的系统上部署内核级 eBPF 程序。
快速上手
- 1
阅读 docs/GettingStarted.md 中的入门指南,安装并试用本项目
使用前须知
- 需要 Windows 11 或更高版本,或 Windows Server 2022 或更高版本。
- 项目自述仍处于开发中(work-in-progress)阶段。
- 启用 HVCI 时,只有原生模式的 eBPF 程序可以运行,因为 JIT 编译的程序无法运行,且发布版本中不包含解释器。
收录于专题
标签
常见问题
- ebpf-for-windows 是什么?
- 在 Windows 内核上运行 eBPF 程序的实现,沿用 Linux 生态的工具链和 API。 eBPF for Windows 将 eBPF 编程模型引入 Windows。项目复用了现有的 eBPF 开源组件,例如 uBPF 的 JIT 编译器和 PREVAIL 验证器,并在其上增加 Windows 运行环境,使用 clang 等标准工具链编译的程序可以加载到内核中。项目提供兼容 Libbpf 的 API,并支持 bpftool 等命令行工具来加载和管理程序。
- ebpf-for-windows 可以免费使用吗?用的什么许可证?
- ebpf-for-windows 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- ebpf-for-windows 还在维护吗?
- 活跃维护中。ebpf-for-windows 最近一次提交是在 2026年11月6日。
- ebpf-for-windows 适合用来做什么?
- 借助 eBPF 工具链在 Windows 内核中实现可观测性或 DoS 防护逻辑。 将基于 eBPF 的网络或追踪程序以较少的源码改动移植到 Windows。 在启用 HVCI 的系统上部署内核级 eBPF 程序。
- ebpf-for-windows 怎么安装和运行?
- 阅读 docs/GettingStarted.md 中的入门指南,安装并试用本项目
- 在哪里获取 ebpf-for-windows?
- 源代码和安装说明在 GitHub 上:https://github.com/microsoft/ebpf-for-windows
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
2612+7 本周76RustGPL-3.0更新于 20天前
封装 libbpf 的 C 库与平台,用于编译和加载 eBPF 程序,支持远程编译与内核版本回移。
29244CMIT更新于 20小时前
基于 eBPF 的 Kubernetes 网络、安全与可观测性方案,支持 L3-L7 身份感知策略。
2.6万+49 本周4220GoApache-2.0更新于 17小时前
一套循序渐进的 eBPF 教程,提供 C、Go、Rust 的短小可运行示例,主要基于 libbpf 与 CO-RE。
4333+7 本周607CMIT更新于 3天前
面向微服务与云原生架构的 APM 应用性能监控系统,提供链路追踪与诊断。
2.5万+12 本周6631JavaApache-2.0维护活跃更新于 22小时前