2011-08-18 73 views
0

我正在为一个协议写一个解析器,我必须与之合作。该协议在TCP上运行并且是有状态的。Wireshark - Lua Dissector,检测哪个端点打开了连接?

为了正确剖析字段,我需要确定哪个端点打开了TCP连接(客户端)。

有没有办法从tcp解剖器获取这些信息?我需要写一个水龙头吗?我不清楚在卢阿如何做到这一点。

交叉张贴在Wireshark堆栈站点here

回答

1

要在Lua中编写有状态协议解析器,可以使用闭包来存储状态信息。 如果您为给定TCP流#(由TCP解析器生成)的第一个数据包分析标记SYN/SYN + ACK,则可以轻松解密启动对话的端点。

为了使这项工作,你应该安装解剖器后检查'tcp.stream'字段。

您可以在我的小号码源中签出该技术Lua wireshark dissector to capture HTTP state information