Tutorial paso a paso de eBPF con ejemplos breves y ejecutables en C, Go y Rust, basado principalmente en libbpf y CO-RE.
aliyun/coolbpf
Biblioteca C y plataforma que envuelven libbpf para compilar y cargar programas eBPF, con compilación remota y compatibilidad retroactiva con distintas versiones del kernel.
- Estrellas
- 292
- Forks
- 44
- Issues abiertos
- 5
- Último commit
- hace 20 horas
¿Qué es?
coolbpf envuelve las funciones principales de libbpf para que los desarrolladores puedan crear programas de trazado y manipulación del kernel con menos configuración. Ofrece un servicio de compilación local con wrappers para llamadas a funciones BPF y un servicio de compilación remota que recibe un archivo fuente bpf.c y devuelve un objeto bpf.so para que lo cargue la aplicación local, sin necesidad de que el usuario gestione un entorno de compilación.
El proyecto también permite adaptar a kernels antiguos las funciones BPF de kernels más recientes mediante un módulo del kernel; por ejemplo, añade compatibilidad con BPF a kernels 3.10 y sustituye los buffers perf por ring buffers. Genera BTF automáticamente y ofrece bindings para Python, Go, C y Rust. Para compilar libcoolbpf se necesitan elfutils-devel y gcc; las herramientas eBPF también requieren clang y llvm.
El repositorio incluye AgentSight, una herramienta de observabilidad basada en eBPF para agentes LLM que captura tráfico SSL/TLS y actividad de procesos sin modificar el código, además de varios módulos del kernel, como eNetSTL, que proporcionan kfuncs adicionales para programas XDP.
Funciones clave
- 01Servicio de compilación local con wrappers para llamadas a funciones BPF.
- 02Servicio de compilación remota que devuelve un bpf.so para cargarlo localmente.
- 03Adaptaciones mediante módulos del kernel, como compatibilidad con BPF en kernels 3.10 y uso de ring buffers en lugar de perf buffers.
- 04Generación automática de BTF.
- 05Bindings para Python, Go, C y Rust.
- 06AgentSight observa el tráfico y los procesos de agentes LLM mediante eBPF, sin modificar el código.
Casos de uso
- Crear herramientas de trazado eBPF sin gestionar una cadena de herramientas de compilación local.
- Ejecutar programas BPF en kernels antiguos mediante adaptaciones con módulos del kernel.
- Observar el tráfico de red y la actividad de los subprocesos de agentes de IA en Linux.
Inicio rápido
- 1
Instala las dependencias de compilación (elfutils-devel, gcc)
- 2
Instala libcoolbpf desde la raíz del proyecto
./install.sh - 3
Compila el ejemplo de syscall desde la raíz del proyecto
mkdir -p build && cd build && cmake -DBUILD_EXAMPLE=on .. && make
Antes de usarlo
- Para compilar las herramientas eBPF, además de gcc y elfutils, se necesitan clang y llvm.
- Algunas funciones, como la adaptación retroactiva a versiones del kernel, requieren cargar un módulo del kernel, lo que necesita acceso root.
- El README no indica advertencias explícitas sobre licencias o estabilidad más allá de las dependencias enumeradas.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es coolbpf?
- Biblioteca C y plataforma que envuelven libbpf para compilar y cargar programas eBPF, con compilación remota y compatibilidad retroactiva con distintas versiones del kernel. coolbpf envuelve las funciones principales de libbpf para que los desarrolladores puedan crear programas de trazado y manipulación del kernel con menos configuración. Ofrece un servicio de compilación local con wrappers para llamadas a funciones BPF y un servicio de compilación remota que recibe un archivo fuente bpf.c y devuelve un objeto bpf.so para que lo cargue la aplicación local, sin necesidad de que el usuario gestione un entorno de compilación.
- ¿coolbpf es gratuito? ¿Qué licencia tiene?
- coolbpf es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿coolbpf sigue mantenido?
- Mantenimiento activo. El último commit de coolbpf fue el 5 nov 2026.
- ¿Para qué puedo usar coolbpf?
- Crear herramientas de trazado eBPF sin gestionar una cadena de herramientas de compilación local. Ejecutar programas BPF en kernels antiguos mediante adaptaciones con módulos del kernel. Observar el tráfico de red y la actividad de los subprocesos de agentes de IA en Linux.
- ¿Cómo se instala coolbpf?
- Instala las dependencias de compilación (elfutils-devel, gcc) Instala libcoolbpf desde la raíz del proyecto: ./install.sh Compila el ejemplo de syscall desde la raíz del proyecto: mkdir -p build && cd build && cmake -DBUILD_EXAMPLE=on .. && make
- ¿Dónde consigo coolbpf?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/aliyun/coolbpf
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Runtime de eBPF para Windows que permite ejecutar toolchains, API y programas de eBPF de Linux sobre el kernel de Windows.
Interfaz de terminal para capturar e inspeccionar tráfico de red en Linux, basada en eBPF.
Lenguaje y herramienta de tracing de alto nivel para Linux que usa eBPF para rastrear eventos del kernel y del espacio de usuario con una sobrecarga mínima.
Kit de herramientas que empaqueta programas eBPF como Gadgets en imágenes OCI para recopilar e inspeccionar datos del sistema en clústeres de Kubernetes y hosts Linux.
CNI basado en eBPF y capa de redes, seguridad y observabilidad para clústeres de Kubernetes, con políticas L3-L7 basadas en identidades y sustitución de kube-proxy.