TGViewer
Инструменты программиста Инструменты программиста @prog_tools · 12.9K subscribers
Post #2909 1.28K
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
More from @prog_tools
  1. Sep 20, 2026Как переходить между каталогами с zoxide zoxide запоминает, какие каталоги вы открываете ч…
  2. Sep 20, 2026Как искать по коду с ripgrep с учётом .gitignore ripgrep (rg) рекурсивно ищет строки по ре…
  3. Sep 19, 2026Три вещи, которые невозможно объяснить человеку, родившемуся после 2005-го: зачем нужен бы…
  4. Sep 19, 2026Task: кроссплатформенный запуск задач проекта Task — быстрый инструмент сборки для повторя…
  5. Sep 19, 2026Как запускать и тестировать HTTP-запросы с Hurl Hurl — командная утилита для HTTP-запросов…
  6. Sep 18, 2026Tokei считает строки кода и отделяет их от комментариев Tokei — утилита командной строки д…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →