Проблема
Мне нужно изменить файл .pcap, захваченный за 5 минут, чтобы он имитировал файл .pcap, захваченный за 20 минут. Проблема в том, что я не знаю, как это сделать.
Пример
Чтобы проиллюстрировать проблему, предположим, что у меня есть файл .pcap с 4 захваченными пакетами p1
-p4
и t
в качестве времени начала, так что:
p1
отправляется вt
+ 0 минутp2
отправляется вt
+ 1 мин.p3
отправляется вt
+ 2 минутыp4
отправляется вt
+ 3 минуты
Я хочу, чтобы полученный файл .pcap содержал те же четыре пакета, но с отметками времени, масштабированными (от 5 минут до 20 минут), чтобы они представляли следующее:
p1
отправляется вt
+ 0 минутp2
отправляется вt
+ 4 минутыp3
отправляется вt
+ 8 минутp4
отправляется вt
+ 12 минут
Пробное решение(я)
editcap
, однако единственный вариант, который я смог здесь найти, — настроить все временные метки на установленное значение с помощью параметра-t
.
Задний план
Я использую tcpreplay
для воспроизведения сценария, в котором пользователь просматривает веб-страницу. Я одновременно ввожу несколько пакетов, которые зависят от файла .pcap, который я воспроизвел, т. е. пакеты вводятся путем мониторинга воспроизводимого трафика в реальном времени и последующей корректировки отправляемых пакетов. Вся эта трассировка трафика, то есть как воспроизведенный трафик, так и введенные пакеты, перехватывается с использованием tcpdump
. Поскольку есть много больших файлов .pcap, которые я хочу воспроизвести, я использую параметр tcpreplay --multiplier
, чтобы ускорить процесс. Однако это означает, что окончательный захват представляет собой сжатую версию исходного файла .pcap. Я хотел бы «растянуть» вновь созданный .pcap, чтобы он был того же размера, что и оригинал.