Я захватил udp-трафик в файл pcap. При воспроизведении с помощью tcpreplay-edit
я хотел бы сократить все паузы (где вообще нет udp-трафика) до x seconds
максимума. tcpreplay-edit
имеет только глобальный множитель скорости.
Есть ли автоматизированный способ сделать это? В идеале не прибегая к guis вроде wireshark
, но любое решение приветствуется.
решение1
Мне все еще интересно, есть ли способ, но в то же время я нашел обходной путь для рассматриваемого случая, используя один из следующих параметров tcpreplay-edit
:
-p число, --pps=числоПовторное воспроизведение пакетов с заданной скоростью.
-M строка, --mbps=строкаПовторное воспроизведение пакетов с заданной скоростью в Мбит/с.
-t, --topspeedПередавайте пакеты как можно быстрее.
решение2
Со сценарием? Конечно. Без сценария? Ну, типа того.
Вы можете использовать опцию editcap -S (строгая корректировка времени) с отрицательным значением, чтобы скорректировать время всех пакетов на временную метку предыдущего пакета плюс значение -S. Положительное значение для -S скорректирует временную метку только в том случае, если время пакета предшествует временной метке предыдущего пакета. В этом случае вы хотите скорректировать их все.
Итак, если у вас есть 3 пакета с такими временными метками:
23:00:00.100
23:01:00.345
23:05:00.678
И если вы запустите editcap для файла pcap с -S -0.001, вы получите:
23:00:00.100
23:00:00.101
23:00:00.102
Надеюсь, это имеет смысл и поможет вам.