問題タブ [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.
c# - Berkeley Packet Filter から高レベルのフィルタリング表現へ
Berkeley Filter によって手動で WinPcap セッションのフィルターを設定する C プログラムがあります。このツールを Pcap.Net を使用して C# に転送したいと考えています。Pcap.Net は生の berkeley フィルタを引数として提供しませんが、高レベルのフィルタリング式を提供します (たとえば、wireshark/tcpdump のようなものでも使用されますip and tcp
) 。
する方法はありますか
- Berkeley Packet Filter を高レベルのフィルタリング式に「逆コンパイル」します。
- pcap.net のフィルターに raw バイト ストリームを使用する
生の bpf_program:
明確にするために編集: Berkeley Packet Filterは、UNIX ベースのシステムのインターフェースです。WinPcap はこの BPF を使用し、Pcap.Net も同様です。Pcap.Net には、 とも呼ばれる BPF を処理するクラスがありBarkeleyPacketFilter
ます。クラスは、高レベルのフィルタリング式 ( など) のみを受け入れますtcp port 80
。
高レベルの式ではなく生のフィルター (上記のコード ブロックを参照) を BPF クラスに供給する方法を探します。
linux-kernel - bpf_printk() からの出力
からいくつかの例を実行しているときに、出力の先頭に追加情報が追加されているsamples/bpf
ことに気付きました。bpf_printk
BPF command: 2
実際の文字列は bpf プログラムに渡されますbpf_printk
が、残りは何ですか? これはカーネルの JIT から来ていると思いますか?
これらのビットの意味をどこで詳しく見ることができますか? ありがとう。