Перейти к основному содержимому

Захват трафика

Раздел Захват трафика позволяет включить запись входящего и исходящего трафика задачи в формате PCAP и скачать захваченный трафик (PCAP) с агентов — как во время выполнения задачи, так и после ее завершения.

Захваченный трафик (PCAP) нужен, чтобы разобрать состав пакетов, поля протоколов, направления обмена и фактическое поведение сценария в Wireshark или другом анализаторе. Общий объем трафика, скорость, потери и длительность теста смотрите в метриках задачи и на дашбордах: они считают весь прошедший трафик, а файл захвата хранит ограниченное по размеру окно пакетов для разбора содержимого.

Как работает запись

Запись включается в настройках задачи и применяется сразу ко всем задействованным агентам. Каждый агент пишет трафик со своих тестовых интерфейсов локально, а на контроллер отдает уже собранный PCAP-файл:

  • автоматически — когда задача завершилась или была остановлена;
  • вручную — когда вы нажимаете Запросить дамп у конкретного агента, пока задача еще идет (в интерфейсе это действие в окне Захват пакетов).

В один файл захваченного трафика (PCAP) агента попадают оба направления: отправленные (TX) и принятые (RX) пакеты. Лимит размера расходуется суммарно на TX и RX. Если включена запись ARP, ARP-пакеты тоже занимают место в этом лимите; если запись ARP выключена, ARP в PCAP не попадает.

Лимит задается на одного агента. В задаче с двумя агентами значение 200 MB означает до 200 MB итогового файла на каждом агенте, а не 200 MB на всю задачу. В лимит входят и сами пакеты, и служебные заголовки PCAP-записей (по 16 байт на пакет), поэтому файл растет чуть быстрее, чем сумма полезных байтов в кадрах.

В PCAP сохраняется начало каждого пакета длиной до 1520 байт. Для обычных Ethernet-кадров этого достаточно, чтобы разобрать заголовки и большую часть полезной нагрузки. Более крупные кадры в захваченном трафике (PCAP) будут усечены по длине; счетчики байтов задачи при этом по-прежнему отражают полный объем переданного и принятого трафика.

Ротация пакетов: скользящее окно

Запись не останавливается, когда лимит заполнен. Пока задача идет, агент непрерывно пишет пакеты и держит на диске скользящее окно недавнего трафика. Старые пакеты постепенно вытесняются новыми, чтобы размер локальной записи не рос бесконечно.

Алгоритм устроен так:

  1. Непрерывная запись. Каждый рабочий поток агента пишет пакеты в собственные временные PCAP-фрагменты. В каждый фрагмент попадают пакеты, которые реально прошли через этот поток: и исходящие, и входящие.

  2. Два слота на поток. У каждого потока есть кольцо из двух файлов. Сначала заполняется первый слот. Когда он достигает своей доли от заданного лимита, запись переключается на второй слот. Когда заполняется и второй, запись снова переходит на первый и перезаписывает его содержимое. Так на диске всегда остаются два последних фрагмента на поток, а более старые данные уходят.

  3. Общий бюджет агента. Лимит, который вы задали в интерфейсе, распределяется между всеми потоками записи этого агента. Суммарный объем «живых» фрагментов на диске удерживается около удвоенного лимита (два слота), плюс место под итоговый файл при сборке. Задача при этом продолжает работать: метрики копятся дальше, а окно захваченного трафика (PCAP) просто сдвигается вперед по времени.

  4. Сборка файла при скачивании. Когда вы запрашиваете захваченный трафик (PCAP) или задача завершается, агент:

    • собирает все текущие фрагменты;
    • объединяет пакеты в один PCAP;
    • упорядочивает их по времени;
    • если суммарный размер больше заданного лимита, оставляет в итоговом файле самые свежие пакеты, которые укладываются в лимит.

В результате скачанный файл захваченного трафика (PCAP) — это упорядоченное по времени окно последних пакетов агента, уместившееся в выбранный размер.

Практический смысл для пользователя:

  • если лимит больше объема трафика за всю задачу, в файле будет почти весь обмен от начала до конца;
  • если трафика больше лимита, в файле окажется хвост задачи — самый свежий участок, а более ранние пакеты уже будут вытеснены ротацией;
  • если в захваченном трафике (PCAP) видно, например, только последние 20–30 секунд длинного теста, это ожидаемое поведение скользящего окна при маленьком лимите или высокой скорости, а не признак того, что задача оборвалась раньше.

Запись во время выполнения задачи не прерывается запросом захваченного трафика (PCAP): агент собирает снимок текущего окна и продолжает писать дальше. Повторный запрос позже даст уже более свежее окно.

Как выбирать размер захваченного трафика (PCAP)

Небольшой лимит удобен для быстрой проверки: файл быстрее собирается и скачивается. Для разбора длинной или высокоскоростной задачи задавайте лимит с запасом на каждого агента — иначе в файле останется только хвост теста.

Ориентировочная оценка для одного агента, если нужно покрыть весь ожидаемый обмен:

нужный размер PCAP ≈ TX bytes + RX bytes + 16 bytes × (TX packets + RX packets)

TX/RX можно прикинуть по ожидаемой скорости, длительности и числу пакетов. Если за 60 секунд в обе стороны ожидаются сотни мегабайт, а лимит 200 MB, в скачанном файле с большой вероятностью окажется только последняя часть теста. В такой ситуации увеличьте лимит, сократите длительность или скорость, либо несколько раз запросите захваченный трафик (PCAP) во время выполнения, чтобы зафиксировать разные участки прогона.

Включение захвата трафика

Захват трафика нужно включить до запуска задачи.

  1. Подключитесь к веб-интерфейсу Пересвет-СТ.

  2. Перейдите в раздел Задачи.

  3. Выберите задачу, по которой нужно собрать запись трафика.

  4. Откройте настройки, нажав кнопку Захват пакетов.

Рис. 28 — Захват трафика (PCAP)

Рис. 28 — Кнопка «Захват пакетов» и окно настроек захваченного трафика (PCAP)

  1. Включите тумблер Активировать при запуске задачи.

  2. Заполните поле Значение. Это лимит итогового PCAP-файла для одного агента.

  3. Выберите единицу измерения:

    • Bytes — байты;
    • KB — килобайты;
    • MB — мегабайты;
    • GB — гигабайты.
  4. При необходимости включите или отключите запись ARP.

  5. Вернитесь в задачу и запустите ее.

  6. После запуска снова откройте Захват пакетов.

  7. Откройте Обзор файлов. В таблице отображается захваченный трафик (PCAP), собранный для этой задачи.

  8. Справа от нужной записи нажмите Скачать и дождитесь загрузки PCAP-файла.

Файлы появляются в таблице в двух случаях:

  • задача завершилась автоматически или была остановлена пользователем — агент сам собирает и отправляет итоговый файл захваченного трафика (PCAP);
  • вы запросили захваченный трафик (PCAP) с конкретного агента, пока задача еще выполняется.

Если ожидаемый файл еще не появился, нажмите Обновить список файлов. Сборка и передача большого файла захваченного трафика (PCAP) с агента на контроллер могут занять некоторое время; в интерфейсе отображается прогресс загрузки.

Скачивание захваченного трафика (PCAP) во время выполнения задачи

Пока задача идет, можно в любой момент запросить текущий снимок захваченного трафика (PCAP) с нужного агента. Задача при этом не останавливается: агент собирает актуальное скользящее окно пакетов в один PCAP и передает его на контроллер. Запись на агенте продолжается, поэтому следующий запрос даст уже более свежие пакеты.

  1. Подключитесь к веб-интерфейсу Пересвет-СТ.

  2. Перейдите в раздел Задачи.

  3. Выберите задачу.

  4. Откройте Захват пакетов и убедитесь, что захват трафика включен.

  5. Запустите задачу, если она еще не запущена.

  6. Снова откройте Захват пакетов.

  7. Нажмите Задействованные агенты.

  8. В строке нужного агента нажмите Запросить дамп (скачать текущий захваченный трафик (PCAP)).

  9. Откройте Обзор файлов.

  10. Нажмите Обновить список файлов, если файл еще не отображается.

  11. Справа от появившейся записи нажмите Скачать и дождитесь загрузки PCAP-файла.

Скачивание захваченного трафика (PCAP) после завершения задачи

Когда задача завершается штатно или останавливается вручную, каждый агент с включенным захватом сам собирает итоговый PCAP из текущего окна и отправляет его на контроллер. Дальше файл доступен в Обзор файлов того же окна Захват пакетов: откройте список, при необходимости нажмите Обновить список файлов, затем Скачать.

Подготовка и передача захваченного трафика (PCAP) занимают время. Чем выше нагрузка внутри задачи и чем больше заданный лимит, тем дольше файл появляется в списке. Пока один файл с агента еще собирается или загружается, повторный запрос с того же агента будет недоступен до завершения текущей передачи.