eBPF
eBPF(extended Berkley Packet Filter)
カーネル空間で動作する仮想マシン
eBPF仮想マシン
BPF(Berkeley Packet Filter)
Linux Extended BPF (eBPF) Tracing Tools
良いところ
アプリケーションコードを変更せず、プロセスを再起動せずに、カーネルレベルの可視性と制御を得られる
できること
ソケット操作
ネットワーク制御
トンネリング
帯域制御
セキュリティ
トレーシング
フックできるカーネルイベントは下記に定義されている。
pfcc-tools
code:memo
The following additional packages will be installed:
ieee-data python3-bpfcc python3-netaddr
Suggested packages:
ipython3 python-netaddr-docs
The following NEW packages will be installed:
bpfcc-tools ieee-data python3-bpfcc python3-netaddr
$ execsnoop-bpfcc -UTx
確認用
Q. eBPF
Q. eBPFでできること
Q. eBPFのアーキテクチャ図
Q. BCC
eBPFでのプログラム例題
Q. eBPFを使ってPID、親PID、プログラム名、ファイル名を表示するプログラムを作ると
参考
bpfを使ったツール一覧, GitHub
特徴
イベント駆動なので無駄なく処理できる
非常に高速なネットワーク処理が可能である
自由度高く・詳細なメトリクス取得が可能である
関連
メモ