0

pcap_compile()文字列を構造体の形式でフィルター プログラムにコンパイルしますbpf_program。理論的には、コンパイル済みのプログラムを保存しpcap_setfilter()て、別のネットワーク インターフェイスや別のマシンに提供することもできます。

それはうまくいきますか?フォームはbpf_program異なるインターフェイス間で移植可能ですか? 異なるプロセス?異なるアーキテクチャ?それとも、使用するたびに式をコンパイルするのが最も安全ですか?

の存在に基づいて、pcap_open_dead()ある程度移植可能であると思いますが、安全なものとそうでないものは、ドキュメントのどこにも明記されていないようです。

4

1 に答える 1

1

いいえ、一般的には移植性がありません。

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

同様のマシンでは、ある程度安全です。異なるアーキテクチャ?おそらくそうではありません。似たようなタイプがあればいいのですが。異なるオペレーティング システム? いいえ、これらはお勧めしません。

本当に確認したい場合は、式を使用するときにコンパイルしてください。めったにやらないと、本当に取るに足らない時間がかかります。表現をすばやく切り替える場合は、いくつか残しておくとよいでしょう。

于 2009-12-11T22:20:09.033 に答える