dumpcap,保存到文本文件和行分隔

dumpcap, save to text file and line separated

我正在尝试构建一个解决方案,其中 dumpcap 以以下格式保存到文本文件:

timestamp_as_detailed_as_possible, HEX-raw-packet

我的目标是让每个数据包连续流式传输到文件,由 newline 分隔。

2 个问题?:

Is it OK to have another thread afterwards running and reading lines from the same file, do something with the data and then delete the line when processed - without this interfering with dumpcap?

没有。但这是错误的做法。管道实际上是您应该在这里使用的,即 dumpcap 写入管道并从中读取分析过程,即

dumpcap -w - | analyzer

Is it possible for dumpcap to take care of fragmented packets, so I'm guaranteed each line contains 1 single full packet?

不,这里也不清楚您到底期望什么。通常不会在 IP 级别进行分段,所有这些都是因为 TCP 尝试将数据包大小调整为不大于 MTU。并且 TCP 应该仅被视为字节流,即不要指望您 send 以单个数据包结束,或者多个 send 实际上会导致多个数据包。

I'm trying to build a solution where dumpcap saves to text file

Dumpcap 不保存到文本文件,它保存到二进制 pcap 或 pcapng 文件。

您可能要考虑改用 tcpdump,尽管您必须将其通过管道传输到单独的 program/script 以将其输出整理成您想要的格式。