我是新來解析器在Lua寫作,我有兩個簡單的問題。我有一個TCP選項作爲MSS,TCP SACK,時間戳,NOP,窗口比例的數據包,未知。我基本上試圖剖析TCP選項字段中的未知部分。我知道我將不得不使用鏈式解剖器。解剖器的TCP選項
第一個問題是,當使用鏈式解剖器解析TCP選項時,是否必須從頭開始解析所有選項。例如,我需要解析MSS,TCP SACK,....然後最終解析未知部分,或者是否有任何直接的方式讓我跳轉到未知部分。
第二個問題我已經是我所看到的代碼對許多自定義協議解剖器和,如果我需要解剖下面(例如)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,並且解析器將從選項的開始位置開始解析。