目录
概念
如何安装& 使用
git 地址
使用git clone 下载代码
安装依赖环境
安装libbpf
编译example
概念
libbpf-bootstrap 是一个项目,旨在帮助开发者快速启动和开发使用 eBPF (Extended Berkeley Packet Filter) 和 libbpf 的程序。eBPF 是一种可以在 Linux 内核中运行的程序,提供了强大的网络过滤、系统调用监控和性能分析等功能。libbpf 是一个库,用于加载和管理 eBPF 程序和 map。
libbpf-bootstrap 提供了一些样例程序和模板,帮助开发者理解如何使用 libbpf 创建、加载、管理 eBPF 程序,并与这些程序进行交互。
以下是 libbpf-bootstrap 的一些主要特性:
- 样例程序:libbpf-bootstrap 提供了一些样例程序,用于演示如何使用 libbpf 和 eBPF。这些样例程序包括网络监控、性能分析等不同类型的 eBPF 程序。
- 构建系统集成:libbpf-bootstrap 提供了集成到构建系统的模板,可以方便地编译和链接 eBPF 程序。
- BPF CO-RE (Compile Once - Run Everywhere) 支持:BPF CO-RE 是一种让 eBPF 程序能在不同版本的 Linux 内核上运行的技术。libbpf-bootstrap 支持 CO-RE,使得开发的 eBPF 程序可以在不同版本的 Linux 内核上运行,无需重新编译。
- 用户空间和内核空间程序的交互:libbpf-bootstrap 展示了如何从用户空间程序发送数据到 eBPF 程序,以及从 eBPF 程序返回数据到用户空间。
- 详细的文档:libbpf-bootstrap 提供了详细的文档,包括如何安装、如何使用样例程序,以及如何创建自己的 eBPF 程序等。
如何安装& 使用
git 地址
https://github.com/libbpf/libbpf-bootstraphttps://github.com/libbpf/libbpf-bootstrap
使用git clone 下载代码
git clone --recursive https://github.com/libbpf/libbpf-bootstrapgit clone --recursive https://github.com/libbpf/libbpf-bootstrap
--recursive 的含义是包括子仓库一起下载
安装依赖环境
sudo apt install clang libelf1 libelf-dev zlib1g-devsudo apt install clang libelf1 libelf-dev zlib1g-dev
安装libbpf
cd libbpf/src/
make
sudo make installcd libbpf/src/
make
sudo make install
编译example
cd examples/c/
make
sudo ./minimalcd examples/c/
make
sudo ./minimal
如果出现了
Successfully started! Please run `sudo cat /sys/kernel/debug/tracing/trace_pipe` to see output of the BPF programs.Successfully started! Please run `sudo cat /sys/kernel/debug/tracing/trace_pipe` to see output of the BPF programs.
就算是完成了初期的准备工作