質問

pcap_compile() 文字列をコンパイルします。 bpf_program struct。理論的には、コンパイルされた形式のプログラムを保存して、それを提供することができました pcap_setfilter() 別のネットワークインターフェイスまたは別のマシンでさえ。

それはうまくいきますか?それは bpf_program さまざまなインターフェイスにわたってポータブルフォーム?さまざまなプロセス?さまざまなアーキテクチャ?それとも、式を使用したいたびに式をコンパイルするのが最も安全ですか?

の存在に基づいています pcap_open_dead() 私はそれがややポータブルであると思いますが、何が安全で、何がドキュメントのどこにでも綴られていないようです。

役に立ちましたか?

解決

いいえ、一般的にポータブルではありません。

同じマシンで使用できます。

同様のマシンでは、やや安全に。さまざまなアーキテクチャ?おそらくそうではありません。たぶん、それらが同様のタイプを持っているなら。異なるオペレーティングシステム?いいえ。ただし、これらのいずれもお勧めしません。

本当に確かにしたい場合は、式を使用したら式をコンパイルしてください。あなたがそれを十分にしているなら、それは本当に重要ではない時間がかかります。式を迅速に切り替えている場合は、周りにいくつかを維持することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top