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

NetFlow v5: прочитать поток и восстановить его время

К ответу ↓

Запись V5 описывает наблюдаемый однонаправленный поток. Отделите адрес экспортёра от участников потока и восстановите время с учётом uptime.

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

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

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

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

NetFlow v5: прочитать поток и восстановить его время

Запись V5 описывает наблюдаемый однонаправленный поток. Отделите адрес экспортёра от участников потока и восстановите время с учётом uptime.

Условия и паспорт источника

Сначала установите, что перед вами V5, а не V9 или IPFIX. Запишите модель экспортёра, выпуск ПО, интерфейс наблюдения, коллектор и формат выгрузки. Наличие UDP-пакетов с известным портом ещё не подтверждает формат. Сохраните копию исходных данных и время её получения. Для готового CSV/JSON нужен словарь полей именно этого коллектора: он мог переименовать First, пересчитать время или уже масштабировать sampling.

Отбор на сохранённой копии

В TShark используйте читающую команду из вкладки «Примеры»: она работает с файлом через -r, без захвата сети. Подставьте путь к своей копии; фильтр предполагает, что Wireshark распознал cflow. Если протокол не распознан, проверьте настройки декодирования и фактический формат. Найдите пакет нужного экспортёра и интервала, затем запись с парой адресов, портов и prot. Не фильтруйте внешние IP-поля UDP как будто это участники наблюдаемого соединения.

Как прочитать пример

В примере экспортёр 203.0.113.7 — отдельный контекст, поток направлен от 192.0.2.10:51514 к 198.51.100.20:443 по TCP. Значения 12 и 8400 относятся к этой записи. Направление ответа ищут отдельной записью и в сопоставимом окне; отсутствие ответа в этом наборе не означает отсутствия пакетов в сети. Сначала установите, какие из интерфейсов и направлений реально наблюдаются.

Время и единицы

Упрощённый расчёт для примера без перезагрузки и переполнения: start = export_time - (SysUptime - First)/1000, аналогично для Last. Получается начало за 10 секунд и конец за 1 секунду до экспорта. Часы экспортёра, перезапуск и 32-битное переполнение могут нарушить такой расчёт. Если коллектор уже вернул абсолютные даты, не вычитайте uptime повторно. Запишите используемую timezone и способ преобразования.

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

Сравните интервал с журналом приложения или межсетевого экрана. Уточните NAT, точку наблюдения, ifIndex, таймауты завершения потока и sampling по паспорту оборудования. Наш маршрут рекомендует сначала подтвердить границы наблюдения и единицы, затем считать объёмы и искать обратное направление. По порту 443 нельзя заключить, что передавался именно HTTPS, а набор TCP-флагов не заменяет восстановление диалога или журнал результата приложения.

Если записи нет

Разделите две проблемы: отсутствует сам экспорт либо нужная запись не найдена в полученном экспорте. Проверьте период, экспортёр, направление учёта, timeout, sampling и фильтры коллектора. Сопоставьте контрольные интервалы и доступность соседних записей. Зафиксируйте пробелы доставки; не делайте вывод об отсутствии соединения только по пустой выборке. После проверки собирайте дополнительные свидетельства в доступных журналах, без изменения конфигурации из этой карточки.

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

Исходное полеСмысл и ограничения
version / countВерсия 5 и число записей в пакете; это поля заголовка, не участников потока.
SysUptimeВремя работы экспортёра в миллисекундах в момент экспорта.
unix_secs / unix_nsecsВремя экспорта; преобразование коллектора и его timezone проверяются отдельно.
flow_sequenceСчётчик экспортированных потоков V5. Не переносить сюда смысл счётчика пакетов V9.
engine_type / engine_idКонтекст экспортирующего механизма; сохранять вместе с адресом экспортёра.
sampling_intervalРежим и интервал sampling: верхние два бита — режим, остальные 14 — интервал.
srcaddr / dstaddrАдреса участников наблюдаемого потока; не адрес отправителя UDP-экспорта.
srcport / dstport / protПорты и номер IP-протокола. Название службы по номеру не устанавливает приложение.
input / outputИндексы интерфейсов ifIndex; нужны инвентаризация и актуальная схема сети.
dPkts / dOctetsЧисло пакетов и байт уровня 3 в этой записи, не размер выгрузки и не двусторонняя сумма.
First / LastМетки uptime первого/последнего наблюдённого пакета; не Unix epoch.
tcp_flagsНакопленное OR флагов; само по себе не доказывает полный handshake или успешную транзакцию.

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

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

Синтетическая расшифровка заголовка и одной записи V5

Расшифровка бинарной записи. Поясняющая текстовая расшифровка бинарной структуры. NetFlow не отправляет этот текст или JSON. Значения условные.

[заголовок пакета]
version=5 count=1
SysUptime=3600000 unix_secs=1793743200 unix_nsecs=0
flow_sequence=100 engine_type=0 engine_id=1 sampling_interval=0
[запись потока]
srcaddr=192.0.2.10 dstaddr=198.51.100.20
srcport=51514 dstport=443 prot=6
input=2 output=5 dPkts=12 dOctets=8400
First=3590000 Last=3599000 tcp_flags=0x1b
[контекст аналитика, вне NetFlow]
exporter=203.0.113.7
start=export_time-10s end=export_time-1s

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

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

TShark: чтение имеющегося файла; требуется распознанный cflow

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

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

Поток не устанавливает процесс, пользователя, URL или факт успешной атаки. Коллектор может менять имена и единицы полей.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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