Aya Basic Tutorial

aya1基础教程 开发环境 安装rust, 并使用nightly版本(nightly版本可选) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rustup default nightly 在linux x86_64上安装bpf-linker cargo install bpf-linker 如果是其他架构的linux或者macos则需要先安装LLVM15, 然后安装连接器 cargo install --no-default-features --features system-llvm bpf-linker 安装cargo-generate用于生成项目模板 cargo install cargo-generate 安装bpftool用于生成BTF Ubuntu发行版(推荐Ubuntu 20.04 LTS (Focal))使用以下命令安装 sudo apt install linux-tools-$(uname -r) export PATH=/usr/lib/linux-tools/$(uname -r):$PATH 创建项目 使用cargo-generate创建新项目 cargo generate https://github.com/aya-rs/aya-template 输入项目名: do-sys-open 选择eBPF程序类型: kprobe 输入挂载点: do_sys_open 框架分析 创建的新项目应该有以下结构 $ ls Cargo.lock Cargo.toml do-sys-open do-sys-open-common do-sys-open-ebpf README.md xtask do-sys-open: 与项目名同名的是用户态程序, 用于加载eBPF程序...

March 25, 2023 · b1n