Анализ HTTP запросов и ответов EcoNAT Documentation / Анализ HTTP запросов и ответов
При использовании BRAS в связке с DPI можно вводить дополнительное условие применения сервисов к TCP-трафику: наличие определённого содержимого в HTTP запросах и ответах.
Анализ содержимого HTTP запросов и ответов выполняет подсистема DPI. В ней можно настроить несколько HTTP-анализаторов и привязать их к разным сервисам BRAS. Привязка выполняется через параметр http_analyzer (см. раздел "Создание и настройка сервиса").
Для создания HTTP-анализатора необходимо отправить команду create http_analyzer <name>. В ветке system.dpi.http_analyzers будет создан раздел http_analyzer<name>, где можно указать, какое содержимое должен искать HTTP-анализатор. Пример выполнения команды create http_analyzer _test:
dpi
{
http_analyzers
{
http_analyzer_test
{
Request Method ( )
User-agent ( )
Content-Encoding ( )
Answer code ( )
Content-Type ( )
}
}
}
Подробная информация о содержимом HTTP запросов и ответов приведена в RFC 9110.
Особенности настройки и алгоритм поиска содержимого:
- анализатор можно настроить на обработку либо HTTP-запросов (параметры Request Method и User-agent), либо HTTP-ответов (параметры Content-Encoding, Answer code и Content-Type);
- в каждом параметре можно задать не более 5 значений; разделитель – пробел;
- максимальная длина значения – 8 символов (3 для Answer Code);
- между значениями одного параметра – условие "ИЛИ"; между параметрами – условие "И";
- поиск ведётся по условию "СОДЕРЖИТ", регистр символов учитывается.
Для отслеживания работы HTTP-анализаторов предусмотрены следующие счётчики:
Имя счётчика | Что подсчитывает | MIB OID |
---|---|---|
cr_bras_http_analyzer_try | Количество пакетов, отправленных из BRAS в DPI на анализ, включая пакеты без полезной нагрузки | .1.3.6.1.4.1.45555.1.2.598 |
cr_bras_http_analyzer_match | Количество обнаруженных полных совпадений | .1.3.6.1.4.1.45555.1.2.599 |
cr_bras_http_analyzer_result | Количество проанализированных пакетов, за исключением пакетов без полезной нагрузки | - |
cr_bras_http_analyzer_reconf | Количество реконфигураций, связанных с задействованием анализаторов в сервисах BRAS. Примеры действий, на которые срабатывает счётчик:
| - |
cr_bras_http_analyzer_reconf_empty | Количество реконфигураций, связанных с исключением анализаторов из сервисов BRAS. Примеры действий, на которые срабатывает счётчик:
| - |
cr_bras_http_analyzer_chunked | Количество проанализированных TCP-сегментов | - |
cr_bras_http_analyzer_no_dpi | Неуспешные попытки передачи данных в анализатор из-за критической ошибки в работе подсистемы DPI | - |