如何有效地重新sorting基于时间戳的PCAP文件中的数据包?

我有一个包含很多数据包的PCAP文件。 但是,它们是基于时间戳(实际上是随机的)。 根据时间戳有效sortingPCAP数据包以便以后重放,最好的方法是什么?

目前我正在通过Scapy和Python来完成这个任务 。 这工作,但真的很慢。 此外,它将转储完全加载到内存中,其中时间戳实际上是足够的。 我知道sorting是一个昂贵的操作,但这种方法需要近4分钟的时间,在一个现代的Core i7包含778589数据包的344MB文件。

我也知道Wireshark应该包含“reordercap” ,但是这个工具不包括在当前的Debian和Ubuntu版本中。 在尝试从源代码构buildWireshark之​​前,也许有人对这个工具有经验,并可以build议性能如何。

所以,回到问题:如何有效地对PCAP文件中的数据包进行时间戳分类? 内存不是限制,因为PCAP不会超过2GB,并且有足够的内存,但是运行时对我来说很重要。 它应该尽快完成。

先谢谢你!

我有同样的问题,实际上我的是最糟糕的,因为我的pcapfile比你更大,所以我需要一个更有效的方式来sorting它的数据包。 我发现在C中开发的libtrace是一个很好的解决scheme。 不幸的是没有任何直接的工具来完成这个任务,但是它的tracemerge工具合并了两个(或更多)文件并对数据包进行sorting。 所以你应该首先用traceplit分割你的文件,然后用tracemerge合并它们。