Perf / Ring Buffer对比
Perf Buffer常规用法: struct addrinfo //需要上传给应用层的数据结构 { int ai_flags; /* Input flags. */ int ai_family; /* Protocol family for socket. */ int ai_socktype;
Cilium/eBPF令人无语的加载机制记录
前段时间编译bpf c文件,都是用的bpf2go这个go包,这个包虽然很方便,但是指定参数比较困难, 学习到tracee falco这种大型项目都是通过makefile直接编译bpf代码,因此打算自己写Makefile clang ...
eBPF编写避坑指南
0x1:基本概念 当使用tracepoint的时候,函数参数如何确认? cat /sys/kernel/debug/tracing/events/syscalls/xxx/format. xxx为要跟踪的函数,在这里有函数参数定义。 2. 0x2:注意事项 写结构体...
eBPF代码流程分析
0x1:应用层流程 基于Linux kernel source v5.13 1.加载bpf.o文件并处理elf section信息 1.int bpf_object__open(char *path) //参数是bpf.o文件路径 -- __bpf_object__open(const char *
eBPF-AntiRootkit
背景: 针对最近几年频繁出现的通过eBPF进行容器逃逸、rootkit等攻击,需要考虑如何收敛服务器ebpf相关权限,防止被黑客利用。 静态方案: 宿主机层面: 非root用户不赋予CAP_BPF及CAP_SYS_ADMI...