Как изменить диапазон меток времени.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 для ошибочной настройки менее секунды.

Другие вопросы по тегам