web-dev-qa-db-ja.com

Wiresharkにカスタムプロトコルアナライザーを追加するにはどうすればよいですか?

Wiresharkで見ているカスタムプロトコルがあります。 Wiresharkがそれを分析してくれれば、ヘックスをデコードする必要がないので便利だと思いました。私はプログラムのログでこれを行っていますが、wiresharkはタイミング情報を使用して会話全体をキャプチャするので、そこでより便利になります。

これは簡単にできますか?

36
Matt

「簡単に」の定義に依存します。間違いなく実行可能です-Wiresharkは、プラグ可能なディセクタを強力にサポートしています。

README.developer は、明らかにセクター開発の「最良のマニュアル」です。見て、自分で決めてください。

19
Matti Virkkunen

WiresharkのLUA APIを使用して、ディセクタを作成できます。そうすれば、Wiresharkのコードやコンパイラーをダウンロードすることなく、迅速で汚れたディセクタを作成できます。非常にシンプルでありながら強力な例が示されています ドキュメント内 。このようなLUAディセクタは、デバッグの使用、さらにはプロジェクトでの配布にも最適です。

ディセクタを公式のWiresharkリポジトリにコミットする場合は、パフォーマンスと統合の理由から、もちろんCでディセクタを実装する必要があります。

解剖器具を使用するには、ファイルmy_dissector.luaそしてWiresharkを次のように呼び出します:wireshark -X lua_script:my_dissector.lua

28
mic_e

または、独自のディセクタを作成する代わりに、定義からプロトコルディセクタを生成するか、APIの上にDSLを提供するプロジェクトがいくつかあります。

  • wssdl -プロトコルディセクタを定義するためにLuaの上に構築されたドメイン固有の言語を定義するLuaライブラリ。
  • wsgd -プロトコル定義を解析し、それを使用してメッセージを分析する一般的なディセクタ。
  • asn2wrs -ASN.1仕様とWiresharkディセクタへのCグルーをコンパイルするツール。
  • csjark -Wiresharkで使用するC構造体定義からLuaディセクタを生成するツール。
5
Snaipe