このプロジェクトについて

pybpf_asm は、もともと Linux カーネルソースに含まれていた BPF アセンブラの Python 実装です。開発者は BPF アセンブリコードを記述し、実行可能な BPF バイトコードにアセンブルできます。 インストールは PyPI のビルド済み wheels を使用するか、ソースからビルドして行えます。ビルドには最近のバージョンの Flex と Bison が必要です。Windows では winflexbison をインストールでき、macOS(および古い Linux)では Homebrew を通じてツールを入手し、PATH の早い位置に現れるようにしてください。 典型的な使用法は、bpf_asm モジュールをインポートし、BPF アセンブリ命令を含む文字列を引数として assemble 関数を呼び出すことです。たとえば: import bpf_asm ASM = """ ldh [12] jeq #0x800, accept, drop accept: ret #65536 drop: ret #0 """ print(bpf_asm.assemble(ASM)) このプロジェクトは、直接呼び出せる pybpf_asm という名前のコマンドラインユーティリティも提供しています。詳細なドキュメントはプロジェクトの GitHub Pages で利用できます。 このソフトウェアは GPL-2.0-only ライセンスの下でリリースされており、派生作品も同じライセンスの下で配布する必要があります。