dumpcap,保存到文本文件和行分隔
dumpcap, save to text file and line separated
我正在尝试构建一个解决方案,其中 dumpcap
以以下格式保存到文本文件:
timestamp_as_detailed_as_possible, HEX-raw-packet
我的目标是让每个数据包连续流式传输到文件,由 newline
分隔。
2 个问题?:
dumpcap 是否可以处理碎片化的数据包,所以我保证每行包含 1 个完整的数据包?
之后可以有另一个线程 运行 并从同一个文件读取行,对数据做一些事情,然后在处理时删除该行 - 不会干扰 dumpcap
?
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 以将其输出整理成您想要的格式。
我正在尝试构建一个解决方案,其中 dumpcap
以以下格式保存到文本文件:
timestamp_as_detailed_as_possible, HEX-raw-packet
我的目标是让每个数据包连续流式传输到文件,由 newline
分隔。
2 个问题?:
dumpcap 是否可以处理碎片化的数据包,所以我保证每行包含 1 个完整的数据包?
之后可以有另一个线程 运行 并从同一个文件读取行,对数据做一些事情,然后在处理时删除该行 - 不会干扰
dumpcap
?
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 以将其输出整理成您想要的格式。