Firewall, IDS или балансировщик ведут себя странно только на… — Инструменты программиста — TG.ME

Firewall, IDS или балансировщик ведут себя странно только на настоящем трафике, а настоящий трафик приходит в неудобное время и не повторяется. tcpreplay решает это в лоб: берёт записанный pcap и проигрывает его в сетевой интерфейс с нужной скоростью, сколько угодно раз подряд.

🔘 Набор состоит из нескольких утилит: tcpprep делит дамп на клиентскую и серверную стороны, tcprewrite переписывает адреса и заголовки второго, третьего и четвёртого уровней, tcpreplay отправляет результат в один интерфейс или в два сразу.

🔘 В версии 4.6.0 переработали быстрый путь через AF_XDP: на обычной карте e1000 отправка выросла примерно с 13 тысяч пакетов в секунду до 305 тысяч, это 941 Мбит/с. Режим --io-uring шлёт пакеты пачками вместо системного вызова на каждый и тратит примерно на 11 процентов меньше процессора.

🔘 Тогда же починили давнюю ошибку с jumbo-кадрами: кадр больше MTU, которому не хватало одной страницы кольцевого буфера, молча обрезался до 4096 байт.

🔘 Версия 4.6.1 вышла 15 августа и посвящена прежде всего безопасности и укреплению кода. Проект завёл три цели фаззинга — на разбор pcap, на правила fragroute и на парсер --services — и отдал их в OSS-Fuzz. За первые дни работы нашлось девять дефектов, от записи за границей кучи до зависания на исчерпании ресурсов; все исправлены в релизе вместе с тремя отдельно сообщёнными уязвимостями, две из которых с оценкой 7,0 и выше.

Очевидная альтернатива — Ostinato: у него есть графический интерфейс, и конструировать пакеты руками в нём удобнее. Но если сценарий уже записан в дамп, воспроизводимый прогон и автоматизация из терминала — это про tcpreplay. Звёзд у репозитория 1344 на 27 августа.

@prog_tools
August 29, 2026 829 5