This project is an educational resource providing a comprehensive development tutorial for writing and loading eBPF programs using C, Go, and Rust within the Linux kernel. It serves as a technical guide for developing custom logic to execute directly in the kernel. The materials cover specialized domains including kernel observability and tracing, security implementation for intrusion detection, and high-performance network engineering for packet filtering and load balancing. It also includes dedicated manuals for Linux kernel tracing and the use of kprobes, uprobes, and tracepoints. The pro
This project is a Go library and runtime for loading and managing eBPF programs and maps. It provides a bytecode loader and kernel interface to inject instructions into kernel hooks for system-level execution and observability across both Linux and Windows operating systems. The library features a relocation engine and tooling to ensure program compatibility across different kernel versions and distributions. It supports portable deployment by embedding compiled objects for multiple CPU architectures into a single binary and provides the ability to load signed system drivers on Windows. The
Inspektor Gadget is an eBPF observability toolset and program framework designed for tracing Linux systems and debugging Kubernetes nodes. It provides a suite of tools to collect kernel-level telemetry and export system metrics via the OpenTelemetry standard. The project distinguishes itself by packaging inspection tools as OCI-compliant container images, allowing for standardized distribution and deployment across clusters and hosts. It employs a modular data processing pipeline that utilizes WebAssembly modules to transform and filter telemetry, and leverages Compile Once Run Everywhere for
Tracee is a cloud-native runtime security and forensics tool that uses eBPF to capture system calls and kernel events in real time. It operates as a standalone binary or a Helm-deployable agent for Kubernetes, normalizing system calls, network events, and container activities into a unified event pipeline for consistent analysis. The tool distinguishes itself through policy-driven event filtering using YAML-based rules, allowing users to target specific workloads and reduce noise during monitoring. It includes built-in threat detection signatures that flag suspicious behavioral patterns witho
Aya is a Rust-native framework for writing, compiling, and loading eBPF programs into the Linux kernel. It provides a complete development environment that eliminates the need for a C toolchain or libbpf, allowing developers to work entirely within the Rust ecosystem. The framework manages the full lifecycle of eBPF programs, including async runtime integration, CO-RE BTF resolution for kernel version portability, ELF-based program loading, and safe kernel memory access.
Die Hauptfunktionen von aya-rs/aya sind: eBPF Frameworks for Rust, eBPF Function Call Relocations, eBPF Log Consumers, Kernel Event Hooks, Kernel-Space Packet Processing, Kernel Bytecode Execution, CO-RE Relocation, eBPF Lifecycle Management.
Open-Source-Alternativen zu aya-rs/aya sind unter anderem: eunomia-bpf/bpf-developer-tutorial — This project is an educational resource providing a comprehensive development tutorial for writing and loading eBPF… cilium/ebpf — This project is a Go library and runtime for loading and managing eBPF programs and maps. It provides a bytecode… inspektor-gadget/inspektor-gadget — Inspektor Gadget is an eBPF observability toolset and program framework designed for tracing Linux systems and… facebookincubator/katran — Katran is an eBPF-based Layer 4 load balancer designed for high-performance network packet forwarding directly within… aquasecurity/tracee — Tracee is a cloud-native runtime security and forensics tool that uses eBPF to capture system calls and kernel events… bpftrace/bpftrace — bpftrace is a high-level eBPF tracing tool and kernel instrumentation framework for Linux. It provides a tracing…