Как изменить диапазон меток времени.pcap файла?
проблема
Мне нужно изменить файл.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 до размера оригинала.
1 ответ
Это можно сделать с помощью Wireshark, используя функцию "Time Shift".
Предполагая, что отметка времени для пакета 1 2017-08-17 12:00:00.000000
выберите пакет 1, затем выберите "Редактировать -> Сдвиг времени..." и установите время для пакета 1 на 2017-08-17 12:00:00.000000
(т.е. не меняйте это). Установите флажок рядом с "... затем установите пакет" и введите 2 для номера пакета и 2017-08-17 12:04:00.000000
как отметка времени. Вы заметите, что это также указывает "и экстраполировать время для всех других пакетов", что вам и нужно. Нажмите Применить.
На этом этапе временные метки должны быть скорректированы в соответствии с тем, что вы хотите, хотя субсекундный компонент может не оказаться одинаковым для всех пакетов, и по какой-то причине субсекундный компонент пакета 1 не совсем соответствует тому , что было первоначально указано. Если вы действительно хотите сохранить исходный субсекундный компонент, вам придется настраивать один пакет за раз. Учитывая, что нужно настроить только 4 пакета, это должно быть осуществимо. Я мог бы предложить подать отчет об ошибке в Wireshark для ошибочной настройки менее секунды.