私は Lua でディセクタを書くのが初めてで、2 つの簡単な質問がありました。TCP オプションが MSS、TCP SACK、TimeStamps、NOP、Window Scale、Unknownであるパケットがあります。私は基本的に、TCP オプション フィールドの不明なセクションを分析しようとしています。連鎖解剖器具を使用する必要があることは承知しています。
最初の質問は、チェーン ディセクタを使用して TCP オプションを解析しているときに、最初からすべてのオプションを解析する必要があるかどうかです。たとえば、MSS、TCP SACK、....を解析する必要があります。最後に不明なセクションを解析するか、不明なセクションに直接ジャンプする方法はありますか。
2 番目の質問は、多くのカスタム プロトコル ディセクタのコードを見たことがあります。(たとえば)TCP に従うプロトコルを解析する必要がある場合は、次を含める必要があります。
-- load the tcp.port table
tcp_table = DissectorTable.get("tcp.port")
-- register our protocol to handle tcp port
tcp_table:add(port,myproto_tcp_proto)
私の質問は、とにかく、プロトコルの途中にジャンプすることはありますか. たとえば、私の場合、TCP オプションを解析したいと考えています。tcp.options を直接呼び出すことはできますか? パーサーはオプションの開始位置から分析を開始しますか?