2011-02-05 18 views
32

私はwiresharkで見ているカスタムプロトコルを持っています。 wiresharkが私のためにそれを邪魔してヘックスを解読する必要がないのであれば、役に立つと思っていました。私はプログラムログでこれをやっていますが、wiresharkは会話全体をタイミング情報と一緒にキャプチャするので、そこではもっと便利です。wiresharkにカスタムプロトコルアナライザを追加するにはどうしたらいいですか?

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

答えて

14

"簡単に"という定義によります。それは間違いなく実行可能です - Wiresharkは差し替え可能なディセクタを非常にサポートしています。

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

+2

ありがとうございましたこれは私が後にしたものです。私もこのリンクを発見した:http://www.wireshark.org/docs/wsdg_html_chunked/ChapterDissection.html – Matt

26

ディセクタは、WiresharkのLUA APIを使用して書き込むことができます。そうすれば、Wiresharkのコードやコンパイラをダウンロードすることなく、すばやく汚れた切開器具を書くことができます。 非常に簡単で強力な例がin the documentationと表示されています。 このようなLUAディセクタは、デバッグの用途やプロジェクトでの配布にも最適です。

あなたのdissectorを公式のWiresharkリポジトリにコミットする予定があるなら、パフォーマンスと統合の理由から、Cで実装する必要があります。

、あなたの解剖器具を使用してファイルmy_dissector.luaを作成し、このようにWiresharkのを起動するには:または、代わりに独自の解剖器具を書くので、定義からプロトコル解剖を生成するか、上のDSLを提供し、いくつかのプロジェクトがあるwireshark -X lua_script:my_dissector.lua

3

APIのトップ:

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