2

Wireshark のカスタム ディセクタを作成しています。私は自分のディセクタを、このようなディセクタ テーブルに追加しています...

udp_table = DissectorTable.get("udp.port")
udp_table:add(7777,my_proto)

ただし、私のディセクタが udp ポート 7777 だけを処理するのではなく、任意の udp ポートまたは少なくとも非常に広い範囲を処理するようにしたいと考えています。

これどうやってするの?

ドキュメントには、7777(パターン)を範囲で置き換えることができると書かれていますが、その構文が何であるかはわかりません。

ありがとうございました!

4

1 に答える 1

3

理論的には、 の最初の引数に Lua 文字列を使用して範囲が追加されますdissectortable:add()。ここで、文字列は " " などの範囲7777-8888です。ただし、現在の動作を妨げるバグがある可能性があります (この ask.wireshark.org スレッドを参照してください)。

いずれにせよ、すべてのUDP ポートでディセクタを動作させるべきではありません。これは正しくなく、よく知られている UDP ポートの使用 (DNS、UPNP、SIP など) と衝突する可能性があるためです。 RTP や RTCP などの動的に使用されるものとして。

おそらく、あなたが本当にやりたいことは、ヒューリスティック ディセクタを持っていることでしょうか? その場合、Lua ディセクタを、Wireshark v1.11.3 以降 (最新の Wireshark バージョンは 1.12rc2) で始まるヒューリスティック ディセクタにすることができます。proto:register_heuristicのAPI ドキュメントと、 Lua サンプル ページの上部にあるサンプルdissector.lua スクリプトを参照してください。

于 2014-06-24T13:22:53.333 に答える