Logo

EcoSGE

EcoQOE

EcoBypass

EcoSwitch

English

  • Аннотация
  • Оборудование
  • Вход в систему
  • Подсказки и горячие клавиши
  • Работа с общей конфигурацией устройства
  • Первичная настройка
  • Хранилище сертификатов SSL
  • Настройки интерфейсов
  • ACL
  • Карты классов трафика
  • Подсистема NAT
  • Подсистема BRAS
  • Подсистема DPI
  • Подсистема логирования
  • Перенаправление DNS-запросов
  • Подмена IP-адресов в DNS-ответах
  • Распознавание ложных сессий
  • Дедупликация пакетов
  • Защита от TCP SYN Flooding
  • Функция Sniffer
  • Общая диагностика системы
  • Действия с прошивкой
  • Счётчики
  • Справочник по командам
  • Анализ и фильтрация трафика по сигнатурам протоколов EcoNAT Documentation / Анализ и фильтрация трафика по сигнатурам протоколов

    Подсистема DPI способна анализировать трафик по сигнатурам протоколов и применять к трафику распознанных протоколов действие, заданное в настройках DPI-списка. Подлежащие распознаванию протоколы можно указывать как по отдельности, так и категориями. Для этого в настройках DPI-списка служат параметры protocols и proto_categories соответственно (см. раздел "Создание и настройка DPI-списков"). Можно указать несколько протоколов и категорий через пробел, а также при необходимости добавлять и удалять протоколы и категории с помощью операторов += и -=.

    Полный список поддерживаемых протоколов выводится командой show protocols all, список категорий протоколов – командой show protocols categories.

    Для вывода информации об интересующем протоколе необходимо отправить команду show protocols <имя_протокола>. Вывод команды содержит краткое название протокола (name), полное название протокола (full name), название категории, к которой относится протокол (category), и краткое описание протокола (descripton). Пример:

    EcoSGE:system.dpi# show protocols ssh
    name ssh
    full name Secure Shell
    category Encrypted
    description Secure Shell (SSH), sometimes known as Secure Socket Shell, is a UNIX-based command interface and a protocol for obtaining secure access to a remote computer.   

    Для быстрого поиска протоколов по названию введите первые буквы названия после show protocols и нажмите клавишу Tab. При наличии нескольких вариантов будет выведен список совпадений. Если вариант один, то после нажатия клавиши Tab будет выведена аббревиатура протокола. Например:

    EcoSGE:system.dpi# show protocols ss [TAB]
    # There are several choices:
    ssdp
    ssh
    ssl
    sscopmce
    ss 


    По каждому распознанному протоколу подсистема DPI ведёт подсчёт исходящих и входящих сессий, байтов и пакетов. Счётчики можно вывести в CLI или опросить по SNMP.

    Для вывода счётчиков в CLI необходимо отправить команду show protocounters { all | diff } :

    • с аргументом all команда покажет суммарные значения с момента запуска системы EcoSGE;
    • с аргументом diff будут показаны только изменения за последнюю минуту.

    Счётчики в выводе команд сгруппированы по протоколам, а группы счётчиков, в свою очередь, упорядочены по убыванию суммарного количества байт.

    Примеры вывода:

    EcoSGE:# show protocounters all
    Printing proto counters...
    Core total, cr_dpi_total_base_egress_bytes: 1750
    Core total, cr_dpi_total_base_ingress_bytes: 948
    Core total, cr_dpi_total_base_egress_pkts: 25
    Core total, cr_dpi_total_base_ingress_pkts: 14
    Core total, cr_dpi_total_ip_egress_bytes: 1688
    Core total, cr_dpi_total_ip_ingress_bytes: 948
    Core total, cr_dpi_total_ip_egress_pkts: 24
    Core total, cr_dpi_total_ip_ingress_pkts: 14
    Core total, cr_dpi_total_tcp_egress_bytes: 1688
    Core total, cr_dpi_total_tcp_ingress_bytes: 948
    Core total, cr_dpi_total_tcp_egress_pkts: 24
    Core total, cr_dpi_total_tcp_ingress_pkts: 14
    Core total, cr_dpi_total_smpp_egress_sessions: 1
    Core total, cr_dpi_total_smpp_egress_bytes: 848
    Core total, cr_dpi_total_smpp_ingress_bytes: 678
    Core total, cr_dpi_total_smpp_egress_pkts: 12
    Core total, cr_dpi_total_smpp_ingress_pkts: 10
    Core total, cr_dpi_total_imaps_egress_sessions: 2
    Core total, cr_dpi_total_imaps_egress_bytes: 280
    Core total, cr_dpi_total_imaps_egress_pkts: 4
    EcoSGE:# show protocounters diff
    Printing proto counters diff...
    Core total-diff, cr_dpi_total_base_egress_bytes: 906
    Core total-diff, cr_dpi_total_base_ingress_bytes: 474
    Core total-diff, cr_dpi_total_base_egress_pkts: 13
    Core total-diff, cr_dpi_total_base_ingress_pkts: 7
    Core total-diff, cr_dpi_total_ip_egress_bytes: 844
    Core total-diff, cr_dpi_total_ip_ingress_bytes: 474
    Core total-diff, cr_dpi_total_ip_egress_pkts: 12
    Core total-diff, cr_dpi_total_ip_ingress_pkts: 7
    Core total-diff, cr_dpi_total_tcp_egress_bytes: 844
    Core total-diff, cr_dpi_total_tcp_ingress_bytes: 474
    Core total-diff, cr_dpi_total_tcp_egress_pkts: 12
    Core total-diff, cr_dpi_total_tcp_ingress_pkts: 7
    Core total-diff, cr_dpi_total_smpp_egress_bytes: 424
    Core total-diff, cr_dpi_total_smpp_ingress_bytes: 339
    Core total-diff, cr_dpi_total_smpp_egress_pkts: 6
    Core total-diff, cr_dpi_total_smpp_ingress_pkts: 5
    Core total-diff, cr_dpi_total_imaps_egress_sessions: 1
    Core total-diff, cr_dpi_total_imaps_egress_bytes: 140
    Core total-diff, cr_dpi_total_imaps_egress_pkts: 2  


    Для опроса счётчиков по SNMP следует использовать шаблон запроса 1.3.6.1.4.1.45555.1.6.<a>.<b>.<c>, где:

    <a> – определяет запрашиваемое значение:

    • 0 – суммарное значение с момента запуска системы;
    • 1 – изменение за последнюю минуту;

    <b> – номер (id) протокола в MIB;

    <c> – подсчитываемые единицы:

    • 0 – исходящие сессии,
    • 1 – входящие сессии,
    • 2 – исходящие байты,
    • 3 – входящие байты,
    • 4 – исходящие пакеты,
    • 5 – входящие пакеты.


    Пример SNMP-опроса счётчиков для протокола SMPP (ID 738):

    snmpwalk -v2c -c public 192.168.5.2:161 1.3.6.1.4.1.45555.1.6.0.738
    iso.3.6.1.4.1.45555.1.6.0.738.0.0 = Counter64: 1
    iso.3.6.1.4.1.45555.1.6.0.738.1.0 = Counter64: 0
    iso.3.6.1.4.1.45555.1.6.0.738.2.0 = Counter64: 848
    iso.3.6.1.4.1.45555.1.6.0.738.3.0 = Counter64: 678
    iso.3.6.1.4.1.45555.1.6.0.738.4.0 = Counter64: 12
    iso.3.6.1.4.1.45555.1.6.0.738.5.0 = Counter64: 10 


    Если в SNMP Manager загружен MIB-файл счётчиков для протоколов, то в SNMP-ответах вместо OID будут указаны имена счётчиков. Пример:

    snmpwalk -v2c -m Proto-MIB -c public 192.168.5.2:161 1.3.6.1.4.1.45555.1.6.0.738
    Proto-MIB::econatTotalSmppEgressSessions.0 = Counter64: 1
    Proto-MIB::econatTotalSmppIngressSessions.0 = Counter64: 0
    Proto-MIB::econatTotalSmppEgressBytes.0 = Counter64: 848
    Proto-MIB::econatTotalSmppIngressBytes.0 = Counter64: 678
    Proto-MIB::econatTotalSmppEgressPkts.0 = Counter64: 12
    Proto-MIB::econatTotalSmppIngressPkts.0 = Counter64: 10 


    Все счётчики подсистемы DPI являются скалярными объектами в MIB, поэтому при опросе таких счётчиков по отдельности необходимо после OID указывать ".0". Пример запроса суммарного количества исходящих пакетов протокола SMPP:

    snmpget -v2c -m Proto-MIB -c public 192.168.5.2:161 1.3.6.1.4.1.45555.1.6.0.738.4.0"
    Proto-MIB::econatTotalSmppEgressPkts.0 = Counter64: 12 


    Для сброса счётчиков необходимо отправить команду clear counters.


    При распознавании какого-либо протокола по базе сигнатур подсистема DPI сохраняет уникальный набор данных об этом протоколе (5-tuple) в специальную таблицу – DPI flow table. Если в дальнейшем будет обнаружена попытка открытия сессии, у которой 5-tuple совпадает с сохранённым в таблице, то подсистема DPI уже по первому пакету определит протокол. Это оптимизирует производительность DPI.

    Каждая запись 5-tuple хранится в таблице в течение фиксированного времени, которое нельзя изменить. Однако предусмотрена возможность принудительной очистки DPI flow table. Для этого необходимо отправить команду clear dpi_worker_flows. С данной командой связаны два счётчика:

    • cr_dpi_worker_flush_try регистрирует каждую попытку очистки таблицы;
    • cr_dpi_worker_flush регистрирует количество удалённых записей.