Ecss-captraf - скрипт для захвата сетевого трафика и его записи. Используется для записи служебного трафика (либо всего, либо только по voip: http/sip/rtp).

Осуществляет запись трафика пользователя с перезаписью файлов в зависимости от заданных параметров:

  • максимальное количество файлов;
  • максимальный размер файла;
  • максимальное время записи в один файл.

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

Для работы необходимо задать имя сетевого интерфейса (одного или нескольких), с которого будет осуществляться захват трафика, либо any, обозначающее любой интерфейс.

При указании нескольких сетевых интерфейсов для каждого из них будет запущен свой экземпляр tcpdump. При этом ротация файлов производится в рамках каждого экземпляра, а их максимально допустимое количество делится между всеми экземплярами.

Скрипт может работать в двух режимах:

  • full - захват всего трафика;
  • voip - захват трафика только с протоколами http, sip, rtp.

В режиме voip для захвата HTTP трафика используется фильтр непустых tcp-пакетов с порта tcp 80.
SIP трафик: фильтр udp-пакетов с порта udp 5060;
RTP трафик: фильтр udp-пакетов с чётными номерами портов, в которых первые два бита "полезных данных" соответствуют корректному номеру версии RTP (2 версия). Однако, под этот фильтр могут попадать не только RTP-пакеты. Также в фильтре исключается трафик с 53 порта (DNS).
Кроме того, в обоих режимах исключается SSH-трафик (22 порт) и cisco-net-mgmt/irdmi (8023 порт).

Параметры для настройки находятся в файле конфигурации /etc/ecss/ecss-captraf.conf, в котором заданы следующие значения:

  • Размер отдельного файла дампа (100 миллионов байт)
    FILE_SIZE=100
  • Количество отдельных файлов дампа (200 файлов)
    FILE_COUNT=200
  • Макс. время записи в файл (1800 секунд, или 30 мин.)
    FILE_ROTATION=1800
  • Имя сетевого интерфейса (любой интерфейс)
    INTERFACE=any
  • Режим работы: full/voip (захват всего трафика)
    MODE=full
  • Путь, по которому будут записываться файлы дампов (/var/cache/ecss/ecss-captraf/)
    DUMP_PATH=/var/cache/ecss/ecss-captraf/

Имена дампов содержат название хоста, на котором запущен сервис, название интерфейса и время начала записи в файл (при условии, что задано ограничение по времени записи).

Запуск осуществляется через systemd сервис - ecss-captraf.service.