ebpf

最小 demo

execve.py

当用户空间执行进程时(如:date 查看时间),调用系统调用 execve(),触发打印 Hello bcc!

安装依赖+执行

$ apt install python3-bpfcc

$ python execve.py

参考

libbpf (tools/lib/bpf)

最小 demo

execve.bpf.cexecve.c

当用户空间执行进程时(如:date 查看时间),调用系统调用 execve(),触发打印 Hello libbpf!

编译+执行

$ cd path/to/linux/kernel

$ make headers_install
$ make M=samples/bpf

$ ./samples/bpf/execve
$ cat /sys/kernel/tracing/trace_pipe

参考

  • Documentation/bpf/libbpf

  • samples/bpf/README.rst

  • samples/bpf

最小 demo

execve.bpf.cexecve.c

当用户空间执行进程时(如:date 查看时间),调用系统调用 execve(),触发打印 Hello libbpf-bootstrap!

编译+执行

$ git clone --recurse-submodules https://github.com/libbpf/libbpf-bootstrap
$ cd libbpf-bootstrap

## C Examples + Makefile build
$ make -C examples/c

$ ./examples/c/execve
$ cat /sys/kernel/tracing/trace_pipe

参考

Last updated

Was this helpful?