43

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

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

4

3 に答える 3

34

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

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

ディセクタを使用するには、ファイルを作成し、次のmy_dissector.luaように Wireshark を呼び出します。wireshark -X lua_script:my_dissector.lua

于 2012-09-22T00:18:02.093 に答える
22

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

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

于 2011-02-05T03:45:34.880 に答える
8

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

  • wssdl -- プロトコル ディセクタを定義する目的で、Lua の上に構築されたドメイン固有の言語を定義する Lua ライブラリ。
  • wsgd -- プロトコル定義を解析し、それを使用してメッセージを分析する汎用ディセクタ。
  • asn2wrs -- ASN.1 仕様をコンパイルし、Wireshark ディセクタに C を接着するツール。
  • csjark -- Wireshark で使用する C 構造体定義から Lua ディセクタを生成するためのツール。
于 2016-10-31T19:05:13.787 に答える