11

Wireshark の機能を使用するスクリプトを作成する場合は、tshark を使用します。C でプログラムを作成するときに使用できる libwireshark もあると聞きましたが、私の人生では、そのドキュメントが見つかりませ! Wireshark ソース ツリーでライブラリ コードを分離しようとしましたが、コードがあまりよく整理されていないようで、そのような分離は存在しません (それか、見つけられませんでした)。

2 つの質問があります。

  1. libwireshark を実際に使用して、wireshark/tshark から取得できる機能をプログラムで取得できると考えるのは正しいですか?
  2. この件に関するドキュメント/チュートリアル/例を教えてもらえますか? いくつかの単純な例でさえ、長い道のりを歩むことができます。それができない場合は、wireshark のソース ツリーで自分の道を見つける方法の説明を教えてもらえますか?
4

4 に答える 4

10

いいえ。

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.* ファイルを読むこともできます)。

于 2012-04-27T18:07:39.467 に答える
3

はい!libwireshark を使用してその機能を取得できます。私は同じことをするためにコード全体を書きました。それはうまく機能します。

于 2012-11-06T20:05:48.573 に答える
3

netexpectがまさにそれを行うことを知っているので、Wireshark自体の外でlibwiresharkを使用することは確かに可能です。そのプロジェクトの Web サイトで情報を探すか、netexpect の作成者である Eloy Paris に問い合わせて、さらなるヘルプ/ポインタを求めてください。

于 2013-09-06T21:08:02.650 に答える
1

私でさえ、いくつかのものを自動化するためのプロジェクトの一部として、wireshark機能のスクリプトを作成しました。

これを行うのに最適なのは、次のようなwiresharkアドオンを使用することです。

  1. tsharkを使用してpcapファイルを追加し、フィルターを適用しますが、不足している機能が見つかった場合は、wiresharkソースコードでtshark.cを編集してください。
  2. パケット数やファイルサイズなどの詳細を提供するcapinfos(より多くの機能が必要な場合は、wiresharkソースコードにcapinfosというスクリプトがあります)

アドオンはLinuxでのみ機能し、capinfosはシェルスクリプトで記述されていることに注意してください。したがって、同じシェルスクリプトを使用して、機能を向上させるための新しいスクリプトを作成できます。

適切なドキュメントがないため、最初は多くの問題に直面していました。しかし、一度開始するとスムーズに進みます。

于 2012-04-25T08:01:08.043 に答える