#ebpf #linux #bytecode #instructions #api-bindings #symbol-name

bpf-api

为eBPF程序、探针和映射提供惯用的Rust绑定

8个版本

0.3.1 2024年1月23日
0.3.0 2022年11月3日
0.2.0 2022年10月29日
0.1.4 2022年10月26日

#180 in 操作系统

28 每月下载量

MIT 许可证

52KB
1K SLoC

bpf-api

Build Status crates.io mio Lines of Code

为eBPF程序、探针和映射提供惯用的Rust绑定。

这个crate和姐妹crate背后的动机: btfbtf-derivebpf-insbpf-script,除了学习更多关于eBPF的知识外,还希望有一个完全由Rust实现的eBPF解决方案。也就是说,能够轻松编写、编译和附加BPF程序,并使用映射,而不依赖于bcc、libbpf或其他任何非Rust的BPF依赖项。

用法

有关用法示例,请参阅位于 examples/ 的代码

示例 描述
array 使用BPF数组的一个简短示例
print-programs 一个简短的示例,将探针附加到 sched_process_exec 并打印程序执行情况
user-tracer 使用uprobes探查给定的图像路径和符号名称

待办事项

  • 添加ARM支持。
  • 使探针附加更简单/编写便利宏。

许可证

依赖项

~0.4–1MB
~22K SLoC