有什么方法可以将实时捕获的内容写入文件并传给 tshark 而无需从头开始读取?

有什么方法可以将实时捕获的内容写入文件并传给 tshark 而无需从头开始读取?

我正在从 microtik 路由器捕获到我的 linux 服务器的流量,并写入一个大文件。我正在寻找一种从当前文件末尾向前馈送的方法,因为它是一个几 GB 的文件,我无法从头开始读取,但 tshark(或 tcpdump)需要先读取标头,否则它会以“无法识别的 libpcap 格式”终止。所以 tail -f 不起作用。有什么想法吗?

答案1

因此,我找到了一种快速的方法来获得与我所寻找的内容类似的东西,即首先获取 pcap 头,然后从当前文件末尾获取尾部,使用如下方法:

(dd if=<CAPTUREFILE> bs=1 count=24; tail -c 0 -f <CAPTUREFILE>) | tcpdump -nn -r -

唯一的问题是,使用这种方法我无法获取我所寻找的最后的一些数据包。

相关内容