Разбор сетевых протоколов
Система выполняет разбор пакетов сетевого трафика на канальном, сетевом, транспортном и прикладном уровнях модели сетевого взаимодействия. В процессе разбора определяются используемые сетевые протоколы, выделяются их заголовки и параметры, а также формируются сведения, необходимые для регистрации сетевых сессий и последующего анализа трафика.
Таблица 1 – Поддерживаемые протоколы и особенности их обработки
| Уровень | Протокол | pcapdb | pcapdb | Эвристический анализ | Сигнатурный анализ |
|---|---|---|---|---|---|
| Уровень | Протокол | Разбор пакетов | Регистрация сессии | Эвристический анализ | Сигнатурный анализ |
| L2 | Ethernet | ✓ | ✓ | ✓ | |
| L2 | Ethernet + 802.1Q (VLAN) | ✓ | ✓ | ✓ | |
| L3 | IPv4 | ✓ | ✓ | ✓ | |
| L3 | IPv4 фрагментированный | ✓ | ✓ | ✓ | |
| L3 | IPv6 | ✓ | ✓ | ✓ | |
| L3 | IPv6 фрагментированный | ✓ | ✓ | ✓ | |
| L4 | ICMPv4 | ✓ | ✓ | ✓ | ✓ |
| L4 | IPv4 in IPv4 | ✓ | ✓ | ✓ | |
| L4 | IPv6 in IPv4 | ✓ | ✓ | ✓ | |
| L4 | IPv4 in IPv6 | ✓ | ✓ | ✓ | |
| L4 | IPv6 in IPv6 | ✓ | ✓ | ✓ | |
| L4 | TCP | ✓ | ✓ | ✓ | ✓ |
| L4 | UDP | ✓ | ✓ | ✓ | ✓ |
| L4 | IPv4 in GRE без флагов Key / Routing | ✓ | ✓ | ✓ | |
| L4 | IPv4 in GRE с флагами Key / Routing | ✓ | ✓ | ✓ | |
| L4 | IPv6 in GRE без флагов Key / Routing | ✓ | ✓ | ✓ | |
| L4 | IPv6 in GRE с флагами Key / Routing | ✓ | ✓ | ✓ | |
| L4 | ESP | ✓ | ✓ | – | ✓ |
| L4 | AH | ✓ | ✓ | – | ✓ |
| L4 | ICMPv6 | ✓ | ✓ | ✓ | ✓ |
| L4 | OSPF | ✓ | ✓ | – | ✓ |
| L4 | SCTP | ✓ | ✓ | – | ✓ |
| L7 | VXLAN | ✓ | ✓ | ✓ |
Обозначения: «✓» – обработка протокола поддерживается
«−» – обработка протокола не поддерживается.
При обработке UDP-трафика учитывается значение порта источника. Если значение src. port == 500 зарегистрированная сессия определяется как сессия протокола ISAKMP.
Пакеты протоколов ESP и AH, относящиеся к одному обмену, объединяются в одну ESP-сессию. В качестве протокола зарегистрированной сессии указывается ESP.
Обработка GRE-трафика зависит от наличия дополнительных флагов в заголовке GRE. Для пакетов IPv4 и IPv6 в GRE без флагов Key и Sequence поддерживается дальнейший разбор инкапсулированного трафика.
Для GRE с дополнительными флагами действуют следующие особенности:
-
при наличии флагов Key и Sequence эвристический анализ продолжает разбор вложенного трафика, в том числе до протоколов прикладного уровня, например HTTP;
-
при наличии флага Routing эвристический анализ выполняет разбор до уровня GRE; дальнейший разбор вложенных протоколов не выполняется.
На прикладном уровне поддерживается обработка протокола VXLAN. Протокол определяется для UDP-пакетов с портом назначения 4789 (UDP dst.port = 4789). После определения VXLAN выполняется дальнейшая обработка инкапсулированного сетевого трафика.
Таким образом, обработка пакета выполняется последовательно от внешнего заголовка к вложенным протоколам до достижения конечного поддерживаемого протокола (рис. 1) либо до возникновения условия, при котором дальнейший разбор невозможен или не предусмотрен.

Рис. 1 – Схема последовательности разбора сетевых протоколов