记录 TCP 流,以便可以在 Wireshark 中打开

记录 TCP 流,以便可以在 Wireshark 中打开

我有一个应用程序,它打开一个 TCP 套接字并发送和接收一些二进制数据。我希望该应用程序能够将发送和接收的数据记录为可以使用 Wireshark 打开的格式,并使用常规内置和自定义解析器将其解析为 TCP 流。

我考虑过直接写入 pcap 或 pcapng 文件,但看起来它们需要完整的 TCP 和 IP 标头,即使使用 DLT_RAW 也是如此。我只可以轻松访问 TCP 有效负载,而无法访问实际 TCP 或 IP 数据包的详细信息。

Wireshark 似乎支持打开其他几种文件格式。是否有一种文件格式可以相当容易地写入,并且可以处理 TCP 流而不是单个数据包?

答案1

LINKTYPE_WIRESHARK_UPPER_PDU我最终找到了答案:我可以使用封装(整数值 252,有点记录)写出一个 pcap 文件这里但主要记录在Wireshark 源代码)。

我甚至可以使用以下方式存储源和目标 IP 和端口协议特定的可选数据

这将作为 TCP 数据加载,但不包含任何封装的数据包数据。

相关内容