У меня есть файл PCAP, который содержит много пакетов. Они однако не работают на основе метки времени (она на самом деле рандомизируется). Что лучший способ состоит в том, чтобы эффективно отсортировать пакеты PCAP на основе метки времени для более позднего воспроизведения?
В настоящее время я делаю это через Scapy и Python, как предложено здесь. Это работает, но действительно медленно. Далее, это загружает дамп полностью в памяти, где метки времени на самом деле были бы достаточны. Я знаю, что сортировка является дорогой операцией, но этот метод занимает почти 4 минуты для файла 344 МБ, содержащего 778 589 пакетов на современном Core i7.
Я также знаю, что Wireshark должен включать "reordercap", однако этот инструмент не включен в текущий Debian и сборки Ubuntu. Прежде, чем попытаться создать Wireshark из источника, возможно, кто-то имеет опыт с этим инструментом и может предложить, как производительность будет.
Так, для возвращения к вопросу: Как эффективно отсортировать пакеты в файлах PCAP на основе их метки времени? Память не является ограничением, поскольку PCAPs не будет больше, чем 2 ГБ и достаточно RAM доступны, а скорее время выполнения важно для меня. Это должно завершиться максимально быстро.
Заранее спасибо!
كان لدي نفس المشكلة وكان مشكلتي في الواقع أسوأ لأن ملف pcapfile الخاص بي كان أكبر بكثير من ملفك ، لذا فأنا بحاجة إلى طريقة أكثر كفاءة لفرز حزمه. أجد libtrace الذي تم تطويره في لغة C كحل جيد. لسوء الحظ ، لا توجد أي أدوات مباشرة للقيام بالمهمة ولكن أداة التتبع الخاصة بها تدمج ملفين (أو أكثر) وتقوم بفرز الحزمة. لذلك يجب أولاً تقسيم ملفك باستخدام tracesplit ثم دمجها مع tracemerge.