摘要:
函数bpf_get_current_pid_tgid得到的是进程id与线程id 前面的代码 存储日志是以pid为key 考虑到以后支持多线程 将存储日志的key改成进程id+线程id 具体操作,看视频 bpf_get_current_pid_tgid() 是 eBPF 里最常用、但也最容易被误解的 阅读全文
posted @ 2026-06-02 00:38
BlackSnow
阅读(28)
评论(0)
推荐(0)
摘要:
下面把 eBPF Ring Buffer(BPF_MAP_TYPE_RINGBUF) 相关的 核心 API 按 内核侧(BPF 程序) 和 用户态(libbpf) 系统列出来,并标注典型用法与注意点。 注意:Ringbuffer写满了就不会再写入数据 一、内核侧(eBPF 程序)API 头文件:#i 阅读全文
posted @ 2026-06-02 00:37
BlackSnow
阅读(44)
评论(0)
推荐(0)
摘要:
完整来看,eBPF 的数据保存方式可以按用途模型来分,而不是按 API 名字死记。 下面我给你一套工程级分类 + 对应使用场景,基本覆盖 99% 的 eBPF 工具设计。 一、事件流(Event Stream)——“一条条往外吐” 1️⃣ Ring Buffer(推荐,现代首选) 内核 → 用户态的 阅读全文
posted @ 2026-06-02 00:36
BlackSnow
阅读(28)
评论(0)
推荐(0)
摘要:
前面咱们不是提过ebpf函数取参数的问题 int uprobe_malloc(struct pt_regs *ctx) malloc的函数原型 void *malloc(size_t size); 那能不能写成 int uprobe_malloc(size_t size) 这样取参数多方便 我就想起 阅读全文
posted @ 2026-06-02 00:35
BlackSnow
阅读(27)
评论(0)
推荐(0)
摘要:
这是一个非常关键的概念性问题,而且你前面已经把 “非 skeleton 的 libbpf loader” 全部拆完了—— 现在来讲 skeleton,刚好是“从原理到工程”的闭环。 我按 一句话定义 → 本质 → 它解决了什么问题 → 它到底帮你干了什么 → 什么时候该用 / 不该用 → 课堂总结 阅读全文
posted @ 2026-06-02 00:33
BlackSnow
阅读(41)
评论(0)
推荐(0)
摘要:
开发一个现代的、健壮的 eBPF 用户态控制程序,本质上是管理 eBPF 对象从“用户态解析”到“内核态运行”,再到“安全卸载”的全生命周期。 完整的标准生命周期分为四个核心阶段:初始化与打开 (Open) → 加载入核 (Load) → 查找与挂载 (Attach) → 卸载与清理 (Teardo 阅读全文
posted @ 2026-06-02 00:32
BlackSnow
阅读(21)
评论(0)
推荐(0)
摘要:
结论先给你一句话: autoattach** 的意义是: ****让 bpftool 在“能确定 attach 目标”的情况下, ****帮你把 eBPF 程序“自动挂上去”, **从而把验证(load)和运行(attach)合并成一步。 但它不是万能,而且用对/用错,意义完全不同。下面我把它讲到“ 阅读全文
posted @ 2026-06-02 00:21
BlackSnow
阅读(34)
评论(0)
推荐(0)
摘要:
简短结论先给你: bpftool prog load u_ebpf/mem.bpf.o /sys/fs/bpf/test** 的核心意义是: **把 eBPF 程序真正交给内核做一次“权威体检”。 ✔️ 能不能被 verifier 接受 ✔️ BTF / 指令 / helper 是否合法 ❌ 但不代 阅读全文
posted @ 2026-06-02 00:20
BlackSnow
阅读(32)
评论(0)
推荐(0)
摘要:
注意:如果你想使用BTF完整功能,内核选5.10以上版本 如果你想编译Linux6.14内核,并让其支持BTF,需要配置这些 General setup BTF subsystem 选择这4项,其他两项不要选 如果你想知道这6项的作用,可以问AI 还有一个地方 保存,退出 查看几个重要的BTF选项是 阅读全文
posted @ 2026-06-02 00:20
BlackSnow
阅读(17)
评论(0)
推荐(0)
摘要:
$ grep -E "CONFIG_DEBUG_INFO|CONFIG_BTF" /boot/config-$(uname -r) CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_INFO_NONE is not set # CONFIG_DEBUG_INFO_DWARF_TO 阅读全文
posted @ 2026-06-02 00:18
BlackSnow
阅读(29)
评论(0)
推荐(0)

浙公网安备 33010602011771号