TCP プロトコル上で実行され、複数の TCP パケットを流れるデータを持つディセクタがあります。
すべてを変換する前にデータを組み立てたいので、必要なことは理解しtcp_dissect_pdus()
ましたが、ドキュメントや例が見つかりません。
誰かに案内してもらったり、使い方を理解してもらったりできますか?
TCP プロトコル上で実行され、複数の TCP パケットを流れるデータを持つディセクタがあります。
すべてを変換する前にデータを組み立てたいので、必要なことは理解しtcp_dissect_pdus()
ましたが、ドキュメントや例が見つかりません。
誰かに案内してもらったり、使い方を理解してもらったりできますか?
tcp_dissect_pdus 用の wslua API はありません。しかし、それを自分で実装することはできます。
2 つ以上のパケットにまたがる pdu を組み立てたい場合は、かなり単純です。
function slicer.dissector(tvb, pinfo, tree)
...
local pdu_length = get_pdu_length(...)
if pdu_length > tvb:len() then
pinfo.desegment_len = pdu_length - tvb:len()
else
do_dissection(tvb, pifo, tree)
end
return
end
pdu の正確な長さが分からない場合は、次のようにします。
pinfo.desegment_len = DESEGMENT_ONE_MORE_SEGMENT
README.developerセクション 2.7を読む必要があります。