演示环境
1 2 3 4 5 6 7
| root@blog:~# cat /etc/debian_version 11.2 root@blog:~#
root@blog:~# uname -rm 5.10.0-10-amd64 x86_64 root@blog:~#
|
内核头文件问题
Debian 11.2 对应的 linux-headers 在我的apt mirror里面没有.
apt mirror 里面有 5.19.0 image和headers
于是我需要升级一下内核.
升级内核:
1
| root@blog:~# apt-get install linux-image-5.19.0-0.deb11.2-amd64
|
重启确认
1 2 3 4
| chunli@blog:~$ reboot chunli@blog:~$ uname -r 5.19.0-0.deb11.2-amd64 chunli@blog:~$
|
内核支持BPF?
1
| cat /boot/config-$(uname -r) | grep CONFIG_BPF
|
如果显示了 CONFIG_BPF=y, 说明可以正常使用BPF
1
| root@blog:~# apt-get install bpfcc-tools linux-headers-$(uname -r)
|
测试
直接运行 bashreadline-bpfcc
1
| root@blog:~# /usr/sbin/bashreadline-bpfcc
|
测试运行 bashreadline-bpfcc
1 2 3 4 5 6
| 在BASH内输入的命令, 都会在上面的窗口体现 chunli@blog:~$ cat /etc/debian_version 11.2 chunli@blog:~$ echo Hello Hello chunli@blog:~$
|
bpfcc常 用工具
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| chunli@blog:~$ dpkg -S /usr/sbin/bashreadline-bpfcc bpfcc-tools: /usr/sbin/bashreadline-bpfcc chunli@blog:~$
chunli@blog:~$ dpkg -L bpfcc-tools | grep bpfcc$ /usr/sbin/argdist-bpfcc /usr/sbin/bashreadline-bpfcc /usr/sbin/bindsnoop-bpfcc /usr/sbin/biolatency-bpfcc /usr/sbin/biolatpcts-bpfcc /usr/sbin/biosnoop-bpfcc /usr/sbin/biotop-bpfcc /usr/sbin/bitesize-bpfcc /usr/sbin/bpflist-bpfcc /usr/sbin/btrfsdist-bpfcc /usr/sbin/btrfsslower-bpfcc /usr/sbin/cachestat-bpfcc /usr/sbin/cachetop-bpfcc /usr/sbin/capable-bpfcc /usr/sbin/cobjnew-bpfcc ...
|
文献
https://bowers.github.io/eBPF-Hello-World/