Удалить паузы больше x из файла pcap

Удалить паузы больше x из файла pcap

Я захватил 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

Надеюсь, это имеет смысл и поможет вам.

http://www.wireshark.org/docs/man-pages/editcap.html

Связанный контент