Wireshark - Lua分析器,检测哪个端点打开了连接?

我正在编写一个协议解析器,它运行在 TCP 协议之上,是 stateful 的。

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

是否有一种方法可以从 TCP 解析器中获取此信息?我需要编写一个 tap 吗?我对如何在 Lua 中完成此操作不是很清楚。

在 Wireshark 堆栈网站上发布此帖子

点赞
用户1034483
用户1034483

在 Lua 中编写有状态协议解析器时,您可以使用闭包来存储状态信息。

如果您分析给定 TCP 数据流的第一个数据包的标志 SYN/SYN+ACK,那么您可以轻松地解密出哪个端点启动了对话。#(这是由 TCP 解析器生成的)

要使此功能正常工作,您应该安装一个后置解析器并检查“tcp.stream”字段。

您可以在我的小型Lua Wireshark 解析器中,捕获 HTTP 状态信息的源文件中检查该技术。

2011-11-09 08:53:57