問題タブ [bpf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3343 参照

c - Linux 上の従来の BPF: フィルターが機能しない

raw ソケットにアタッチして、パケット フィルタリング用の従来の BPF をテストしようとしています。ソースポートの最初のバイト == 8 (tcpdump 'tcp[1:1] = 0x50') の TCP パケットをキャッチしたいのですが、ソケットに着信パケットがありません。フィルターなしで私のコードは正常に動作します。

コード例は次のとおりです。

フィルターのコードは、以下から bpf_asm -c によって生成されました。

次の手順も試しました。次のことも試しました。

tcpdump のみで機能します =(

0 投票する
1 に答える
1763 参照

java - arp-reply パケットのみをキャプチャする BPF 式

arp-reply パケットのみをキャプチャするBPF式はありますか? 現在、Pcap4J と次の BPF 式を使用しています。

arp and dst host host and ether dst mac

ここで、hostはデバイスの IP アドレス、macはプライマリ ネットワーク インターフェイスの MAC アドレスです。残念ながら、パケットがキャプチャされると、このフィルターは ARP ブロードキャスト要求もキャプチャすることを許可するため、ARP ヘッダーの操作フィールドが 1 ではなく 2 であるかどうかを確認するために、追加の手順を実行する必要があります。

0 投票する
4 に答える
4906 参照

linux - eBPF は syscall の戻り値またはパラメーターを変更できますか?

いくつかの動作をシミュレートするために、プローブをシステムコールにアタッチし、特定のパラメーターが渡されたときに戻り値を変更したいと考えています。または、関数のパラメーターをプロセスにする前に変更するだけでも十分です。

これはBPFで可能ですか?

0 投票する
0 に答える
137 参照

reverse-engineering - BPF: メモリを sock_filter 構造体にマップするためのタイリング

bpf サーバーを実行するバイナリ ファイルがあります。BPF は次のように「大まかに」定義されています。

コード部分のスニペットは次のとおりです。上記のメモリ アドレスを調べて、sock_filter 構造体に入る部分を特定するにはどうすればよいですか?

どの 16 進値がどの特定の BPF 命令にマップされているかをどのように判断しますか?