いいえ。
libwireshark は Wireshark 自体の外で使用することを意図していないため、そうしようとすると、何が問題なのかを自分で把握する必要があります。libwireshark は、実際には Wireshark のパケット分析部分の一部です (E thereal packet an alyzer の epan と呼ばれます)。これは、開発者ガイドで確認できます。Wireshark のすべてではありません。libwireshark が実際に提供するのは、すべての組み込みプロトコル ディセクタのメイン インターフェイス、プラグイン ディセクタのフック、および完全なパケット ディセクション API です。これは、Wireshark の残りの部分によって設定されたメカニズムに依存しており、直接的なパケット分析ツールではありませんが、分析担当者が作業を実行できるようにします (たとえば、メモリ チャンクの割り当て解除、圧縮または暗号化されたデータの処理など)。
代わりにディセクタを書きます。
プロジェクトが何らかの方法でネットワーク トラフィックを厳密に分析する場合は、Wireshark が提供する多くの車輪を再発明するよりも、Wireshark のディセクタを作成することを検討することをお勧めします。ネットワーク トラフィックを監視してから他のタスクを開始したり、自分でデータを送信したりするなど、より複雑なことを行う必要がある場合は、おそらく、tshark
既に行っているようにシェル スクリプトを使用する方がよいでしょう (tshark
極端な時間実行させないでください)。いずれにしても長時間)。
本当にlibwireshark を直接使用したい場合は、すべての依存関係を何らかの形で解決し (できれば、実際のスタンドアロン ライブラリにすることによって)、Wireshark (または tshark) が実際に実行されているという仮定を提供する必要があります。libwireshark のコードはすべてよく整理されています。これは、Wireshark ソース ツリーの下の epan ディレクトリ全体で構成され、Wireshark がまだ Ethereal だったときに確立された規則に従って配置されているだけです。各関数のドキュメントは、一般に公開されている場合はヘッダー ファイルで提供され、すべての場合においてソース ファイルでより深く提供されます。また、README.developerあなたが持っているソース コードのバージョンと共に配布されている は、いくつかのヒントを得るのに適した場所です (このタスクを実行したい場合は、すべての README.* ファイルを読むこともできます)。