IBCOURSES / СПРАВОЧНИК ИБ

NetFlow v9: почему Data FlowSet не разбирается без шаблона

К ответу ↓

Для записи V9 нужен шаблон того же экспортного потока. Template ID без адреса экспортёра и Source ID недостаточен.

Например
Материалов с пояснениями: 94 · Записей реестров: 11 678

Уточнить поиск

События и журналы

Найдено: 84
Инструкция по проверке

NetFlow v9: почему Data FlowSet не разбирается без шаблона

Для записи V9 нужен шаблон того же экспортного потока. Template ID без адреса экспортёра и Source ID недостаточен.

Условия и граница версии

В NetFlow9 набор полей задаётся шаблоном. Зафиксируйте адрес экспортёра, Source ID, версию экспортёра/коллектора и окно копии. RFC3954 имеет статус Informational и описывает V9; это не основание читать пакет IPFIX тем же заголовком. Номер 256 сам по себе не определяет состав записи. Практический вопрос этой карточки — почему полученные Data FlowSet остаются неразобранными, а не как включить экспорт на сетевом устройстве.

Найти шаблон в копии

Читайте исходный файл целиком, включая начало периода, командой из вкладки «Примеры». Фильтр -Y ограничивает вывод, но не создаёт отсутствующий Template FlowSet. Если вам передали только готовую строку ошибки или вырезку после шаблона, запросите соседний интервал экспорта у владельца данных. Сохраните журнал коллектора с его временем получения. Установите, есть ли FlowSet ID0 и тот же Template ID в том же потоке экспортёра.

Прочитать пример

В иллюстрации шаблон 256 относится к Source ID7 экспортёра 203.0.113.7. Он задаёт два IPv4-адреса, два порта и номер протокола; длина полезных полей одной записи —13 байт. Data FlowSet256 использует именно эту последовательность. Другой экспортёр может применять 256 для совершенно иных полей. Поля контекста и человекочитаемые комментарии примера не передаются в таком текстовом виде по сети.

Проверить последовательность и срок контекста

Сопоставьте время шаблона, данных и перезапусков. Для диагностики полезно отдельно выписать изменение uptime и последовательности экспортных пакетов, затем сравнить с сообщениями коллектора. Разрыв sequence — повод проверить доставку, порядок получения и рестарт, а не автоматически объявить атаку или точное число потерянных пользовательских потоков. Не переносите сюда арифметику счётчика V5.

Интерпретация и следующий шаг

Если корректный шаблон есть и принят, проверьте длины полей, поддержку экспортируемых типов и ошибки разбора в коллекторе. Если в копии шаблона нет, данные остаются неопределёнными до получения подходящего контекста. Наш маршрут рекомендует фиксировать причину «нет шаблона в доступном наборе» отдельно от «нет сетевых потоков». После восстановления разбора сверяйте отдельные записи с сетевыми журналами в одном временном окне; не переносите семантику поля только по похожему имени.

Если шаблон или данные отсутствуют

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

Поля и область применения

Исходное полеСмысл и ограничения
VersionВерсия 9 в заголовке экспортного пакета; IPFIX использует иной формат.
Source IDИдентификатор Observation Domain экспортёра. Коллектор разделяет потоки по нему и source IP.
Sequence NumberV9 считает экспортные пакеты домена; сравнение требует учитывать порядок и перезапуски.
sysUpTime / UNIX SecsКонтекст времени работы и времени экспорта; полезен для проверки перезапусков.
FlowSet ID=0FlowSet с обычными шаблонами; не запись пользовательского потока.
Template IDИдентификатор шаблона от 256; номер имеет смысл в контексте конкретного экспортного потока.
Field Count / Field Type / Field LengthЧисло, типы и длины полей шаблона; определяют разбор его записей.
Data FlowSet IDДля Data FlowSet совпадает с Template ID, по которому разбирают содержащиеся записи.
LengthДлина FlowSet с его заголовком; не число пакетов наблюдаемого соединения.
Контекст коллектораВремя получения, адрес экспортёра и диагностическая причина отсутствия шаблона; это не дополнительные поля протокола.

Примеры записей

Данные в примерах условные. Состав полей зависит от версии и настроек источника.

Синтетическая расшифровка V9: шаблон 256 и одна запись

Расшифровка бинарной записи. Текстовая иллюстрация бинарного формата V9, не нативный лог. Внешний контекст отделён от заголовка и FlowSet.

[контекст, вне структуры NetFlow]
exporter_source_ip=203.0.113.7
[заголовок экспортного пакета]
Version=9 Source_ID=7 Sequence_Number=41
[Template FlowSet]
FlowSet_ID=0 Template_ID=256 Field_Count=5
Field_Type=8  Field_Length=4  # IPV4_SRC_ADDR
Field_Type=12 Field_Length=4  # IPV4_DST_ADDR
Field_Type=7  Field_Length=2  # L4_SRC_PORT
Field_Type=11 Field_Length=2  # L4_DST_PORT
Field_Type=4  Field_Length=1  # PROTOCOL
[Data FlowSet]
FlowSet_ID=256
record=192.0.2.10,198.51.100.20,51514,443,6
[привязка аналитика]
key=(203.0.113.7, Source_ID=7, Template_ID=256)

Команды и способы проверки

Укажите свой узел, путь к журналу и временной интервал. Требуемая среда указана рядом с командой.

TShark: читающий просмотр всей сохранённой последовательности V9

tshark -n -r netflow-copy.pcapng -Y 'cflow.version == 9' -V

Первоисточники

Шаблон другого экспортёра или IPFIX нельзя подставлять по совпавшему номеру. Успех разбора ещё не доказывает полноту доставки.

Связанные материалы

Как пользоваться техническим справочником

Найдите порт, код ошибки, событие или источник журнала. Уточните протокол и систему, затем сверяйте значение, поля, примеры и первоисточники. Назначение порта не определяет фактическую службу, а одна запись не доказывает инцидент.

Материалы по разделам

События и журналы

Два ответа рядом

Сравнение источников

Сравнение показывает различия. События и поля разных систем не считаются эквивалентными.

Выберите службу

В списке — службы, доступные с текущими условиями. Число рядом — количество записей портов, а не программ на вашем узле.

Как искать в справочнике

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

  1. Введите номер, код, имя или фрагмент записи. Для портов можно использовать список: 80, 443, 8000–8010.
  2. Уточните поиск фильтрами. Все условия действуют одновременно. Числа в списках показывают, сколько материалов останется при выборе варианта.
  3. Службу выбирайте из каталога: поиск внутри списка помогает найти название, а кнопка «Выбрать» применяет его.
  4. Убирайте отдельные условия кнопкой × рядом с фильтром. «Сбросить фильтры» сохраняет текст поиска и текущий раздел.
  5. В карточке сверьте источник, версию и условия регистрации, затем откройте поля, примеры и первоисточник.

/ — перейти к поиску. Прямые ссылки открывают выбранную карточку в этом же справочнике.

Назначения портов и коды приведены по официальным реестрам. Версии, условия регистрации и ссылки на документацию указаны в карточках.

Избранное и недавние материалы хранятся в этом браузере. Запрос и фильтры сохраняются при возврате к выдаче и обновлении вкладки. Поиск работает локально.

Что есть в справочнике

От вопроса к свидетельствам: кто вошёл, что запустил, к каким данным обратился, что изменил и где искать следы.

Выберите область, чтобы посмотреть доступные источники и перейти к материалам.

Уточнить или исправить ответ

Скопируйте сообщение и отправьте его на mail@ibcourses.ru.