eBPF
eBPF 测试
install
参考 bpftrace, 安装 ubuntu 19.04 以上。
小问题
- 打不开终端的情况
- 打开系统设置 - 语言和地区 - 设置其他的地区的英文 - 重启即可
- 参考 https://superuser.com/questions/1749837/cant-open-a-terminal-in-ubuntu-22-04-running-in-virtualbox-7-0-on-a-windows-11
- 无法 sudo
- 用 root 账号,修改
/etc/sudoers
su
进入 rootvi /etc/sudoers
即可- 比如
zkk ALL=(ALL:ALL) ALL
- 比如
- 参考 https://stackoverflow.com/questions/47806576/username-is-not-in-the-sudoers-file-this-incident-will-be-reported
- 用 root 账号,修改
apt-get 源配置
参考 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
sudo apt-get update
sudo apt-get install -y bpftrace
eBPF beginner
https://www.brendangregg.com/blog/2019-01-01/learn-ebpf-tracing.html
bcc
查看当前系统是否支持
$ cat /boot/config-$(uname -r) | grep "BPF"
安装命令
# https://github.com/iovisor/bcc/blob/master/INSTALL.md
$ sudo apt-get install bpfcc-tools linux-headers-$(uname -r)
# 安装完成后
# 就会有很多 bpfcc 结尾的命令
$ ls /sbin | grep "bpfcc"
测试
# http 监听
$ sudo apt-get install net-tools
$ ifconfig -a
enp0s3 ...
$ sudo python3 examples/http-parse-complete.py -i enp0s3
# https 监听
$ sudo python3 tools/sslsniff.py
# 测试
$ wget https://www.baidu.com
# firefox 和 chrome 浏览器,都监听不了,待后续测试
$ sudo apt install ./google-chrome.deb
Gnome Terminal
# https://askubuntu.com/questions/792934/i-dont-seem-to-have-the-gnome-terminal
$ sudo apt-get install gnome-terminal