Repolode
microsoft

microsoft/ebpf-for-windows

Runtime de eBPF para Windows que permite ejecutar toolchains, API y programas de eBPF de Linux sobre el kernel de Windows.

Estrellas
3,588
Forks
310
Issues abiertos
322
Último commit
hace 21 horas

¿Qué es?

eBPF for Windows lleva el modelo de programación de eBPF a Windows. Reutiliza proyectos de eBPF existentes, como el compilador JIT uBPF y el verificador PREVAIL, y añade una capa de alojamiento para Windows que permite cargar en el kernel programas creados con toolchains estándar de eBPF, como clang. También ofrece API compatibles con Libbpf y la herramienta de línea de comandos bpftool para cargar y administrar programas.

Los programas se pueden implementar en tres modos: nativo, en el que el bytecode se convierte a C y se compila en un driver de Windows (el modo recomendado y compatible con HVCI habilitado); compilación JIT mediante un servicio en modo de usuario; y un intérprete que solo está disponible en las compilaciones de depuración. Los programas se conectan a hooks del kernel y llaman a funciones helper que envuelven API públicas del kernel de Windows. El proyecto es compatible con Windows 11 y Windows Server 2022 o posterior.

Funciones clave

  • 01Ejecuta en Windows programas eBPF creados con toolchains estándar, como clang.
  • 02Ofrece API compatibles con Libbpf y compatibilidad con bpftool para cargar programas.
  • 03Incluye un modo nativo que compila bytecode eBPF en drivers de Windows y es compatible con HVCI.
  • 04Incluye una ruta de compilación JIT que usa el compilador uBPF.
  • 05Expone hooks y funciones helper que envuelven API públicas del kernel de Windows.

Casos de uso

  • Ejecutar lógica de observabilidad o protección contra DoS en el kernel de Windows mediante herramientas eBPF.
  • Portar a Windows programas de redes o trazado basados en eBPF con cambios mínimos en el código fuente.
  • Implementar programas eBPF a nivel de kernel en sistemas con HVCI habilitado.

Inicio rápido

  1. 1

    Lee la guía Getting Started Guide en docs/GettingStarted.md para instalar y probar el proyecto

Antes de usarlo

  • Requiere Windows 11 o posterior, o Windows Server 2022 o posterior.
  • El proyecto se describe a sí mismo como un trabajo en curso.
  • Con HVCI habilitado, solo funcionan los programas eBPF en modo nativo, ya que los programas compilados con JIT no pueden ejecutarse y el intérprete no está incluido en las compilaciones de lanzamiento.

En colecciones

Temas

Preguntas frecuentes

¿Qué es ebpf-for-windows?
Runtime de eBPF para Windows que permite ejecutar toolchains, API y programas de eBPF de Linux sobre el kernel de Windows. eBPF for Windows lleva el modelo de programación de eBPF a Windows. Reutiliza proyectos de eBPF existentes, como el compilador JIT uBPF y el verificador PREVAIL, y añade una capa de alojamiento para Windows que permite cargar en el kernel programas creados con toolchains estándar de eBPF, como clang. También ofrece API compatibles con Libbpf y la herramienta de línea de comandos bpftool para cargar y administrar programas.
¿ebpf-for-windows es gratuito? ¿Qué licencia tiene?
ebpf-for-windows es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ebpf-for-windows sigue mantenido?
Mantenimiento activo. El último commit de ebpf-for-windows fue el 7 nov 2026.
¿Para qué puedo usar ebpf-for-windows?
Ejecutar lógica de observabilidad o protección contra DoS en el kernel de Windows mediante herramientas eBPF. Portar a Windows programas de redes o trazado basados en eBPF con cambios mínimos en el código fuente. Implementar programas eBPF a nivel de kernel en sistemas con HVCI habilitado.
¿Cómo se instala ebpf-for-windows?
Lee la guía Getting Started Guide en docs/GettingStarted.md para instalar y probar el proyecto
¿Dónde consigo ebpf-for-windows?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/microsoft/ebpf-for-windows

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Motor experimental de proxy transparente para Linux escrito en Rust, basado en el diseño eBPF y la sintaxis de configuración de dae, con grupos de salida al estilo de sing-box.

1,6 mil+514 esta semana137RustGPL-3.0Bien mantenidoActualizado hace 6 horas