Как эффективно переупорядочить пакеты в файлах PCAP на основе метки времени?

У меня есть файл PCAP, который содержит много пакетов. Они однако не работают на основе метки времени (она на самом деле рандомизируется). Что лучший способ состоит в том, чтобы эффективно отсортировать пакеты PCAP на основе метки времени для более позднего воспроизведения?

В настоящее время я делаю это через Scapy и Python, как предложено здесь. Это работает, но действительно медленно. Далее, это загружает дамп полностью в памяти, где метки времени на самом деле были бы достаточны. Я знаю, что сортировка является дорогой операцией, но этот метод занимает почти 4 минуты для файла 344 МБ, содержащего 778 589 пакетов на современном Core i7.

Я также знаю, что Wireshark должен включать "reordercap", однако этот инструмент не включен в текущий Debian и сборки Ubuntu. Прежде, чем попытаться создать Wireshark из источника, возможно, кто-то имеет опыт с этим инструментом и может предложить, как производительность будет.

Так, для возвращения к вопросу: Как эффективно отсортировать пакеты в файлах PCAP на основе их метки времени? Память не является ограничением, поскольку PCAPs не будет больше, чем 2 ГБ и достаточно RAM доступны, а скорее время выполнения важно для меня. Это должно завершиться максимально быстро.

Заранее спасибо!

1
задан 10 August 2015 в 18:43
1 ответ

كان لدي نفس المشكلة وكان مشكلتي في الواقع أسوأ لأن ملف pcapfile الخاص بي كان أكبر بكثير من ملفك ، لذا فأنا بحاجة إلى طريقة أكثر كفاءة لفرز حزمه. أجد libtrace الذي تم تطويره في لغة C كحل جيد. لسوء الحظ ، لا توجد أي أدوات مباشرة للقيام بالمهمة ولكن أداة التتبع الخاصة بها تدمج ملفين (أو أكثر) وتقوم بفرز الحزمة. لذلك يجب أولاً تقسيم ملفك باستخدام tracesplit ثم دمجها مع tracemerge.

1
ответ дан 4 December 2019 в 00:02

Теги

Похожие вопросы