我正在为我必须使用的协议编写解剖器。该协议在TCP上运行并且是有状态的。
为了正确剖析字段,我需要确定哪个端点打开了TCP连接(客户端)。
有没有办法从tcp解剖器获取此信息?我需要写一个水龙头吗?我不太清楚如何在lua中做到这一点。
Cross发布在Wireshark堆栈网站here。
答案 0 :(得分:1)
要在Lua中编写有状态协议解析器,您可以使用闭包来存储状态信息。 如果您分析给定TCP流#的第一个数据包(由TCP解析器生成)的标志SYN / SYN + ACK,您可以轻松解密哪个端点开始对话。
要完成这项工作,您应该安装一个解剖器并检查'tcp.stream'字段。
您可以在我的小Lua wireshark dissector to capture HTTP state information
的来源中查看该技术