gpt4 book ai didi

tcp - 如何在 LUA 解析器中重新组装 TCP 数据包?

转载 作者:可可西里 更新时间:2023-11-01 02:33:33 24 4
gpt4 key购买 nike

我有一个在 TCP 协议(protocol)之上运行的解析器,并且有在多个 TCP 数据包上流动的数据。

我想在转换所有内容之前组装数据,所以我知道我需要 tcp_dissect_pdus(),但我找不到它的文档或示例。

任何人都可以指导我使用它或帮助我了解如何使用它吗?

最佳答案

tcp_dissect_pdus 没有 wslua API。但您可以自己实现。

如果你想组装跨越两个或更多数据包的 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 节。

关于tcp - 如何在 LUA 解析器中重新组装 TCP 数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13138088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com