PCAP_COMPILEの出力はどの程度ポータブルですか?
-
18-09-2019 - |
質問
pcap_compile()
文字列をコンパイルします。 bpf_program
struct。理論的には、コンパイルされた形式のプログラムを保存して、それを提供することができました pcap_setfilter()
別のネットワークインターフェイスまたは別のマシンでさえ。
それはうまくいきますか?それは bpf_program
さまざまなインターフェイスにわたってポータブルフォーム?さまざまなプロセス?さまざまなアーキテクチャ?それとも、式を使用したいたびに式をコンパイルするのが最も安全ですか?
の存在に基づいています pcap_open_dead()
私はそれがややポータブルであると思いますが、何が安全で、何がドキュメントのどこにでも綴られていないようです。
解決
いいえ、一般的にポータブルではありません。
同じマシンで使用できます。
同様のマシンでは、やや安全に。さまざまなアーキテクチャ?おそらくそうではありません。たぶん、それらが同様のタイプを持っているなら。異なるオペレーティングシステム?いいえ。ただし、これらのいずれもお勧めしません。
本当に確かにしたい場合は、式を使用したら式をコンパイルしてください。あなたがそれを十分にしているなら、それは本当に重要ではない時間がかかります。式を迅速に切り替えている場合は、周りにいくつかを維持することをお勧めします。
所属していません StackOverflow