flow_hooks.php¶
Модуль управления сетевым трафиком и MAC-адресами: мониторинг потоков, защита от DDoS (blackhole/unblock), управление защитой IP и проверка соответствия MAC-адресов.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
check_traffic_flow | получение данных о трафике | Возвращает последние данные об обновлениях трафика по локациям. |
ddos_blackhole | активация blackhole при DDOS атаке | Инициирует процесс блокировки IP-адреса (blackhole) в случае обнаружения чрезмерного трафика. Если количество предупреждений достигло порога, выполняется сетевая блокировка. |
ddos_protect | активация защиты от DDoS | Активирует защиту от DDoS для указанного IP/CIDR и уведомляет клиента. |
ddos_unblock | снятие DDOS блокировки | Снимает ограничение blackhole для конкретного IP-адреса, если у сервера был установлен соответствующий тег. |
ddos_unprotect | деактивация защиты от DDoS | Снимает защиту с IP/CIDR и удаляет соответствующие теги. |
ddos_warning | отправка предупреждения о DDOS | Отправляет уведомление клиенту и логирует факт обнаружения подозрительного трафика без немедленной блокировки. |
mac_change | смена MAC-адреса | Обновляет MAC-адрес для конкретного IP. |
mac_check | проверка соответствия MAC и IP | Запускает процесс верификации ARP-записей: проверяет, соответствует ли текущий MAC-адрес зарегистрированному в базе для данного IP. |
mac_report | отчет о MAC-адресах | Групповая отправка отчетов по статическим MAC-адресам для проверки соответствия IP. |
traffic_tick | регистрация сетевого события (трафик) | Регистрирует данные о прохождении трафика для конкретного IP-адреса или групповое обновление. |
flow_hooks/check_traffic_flow¶
Возвращает последние данные об обновлениях трафика по локациям.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: check_traffic_flow |
| - | - | - | Других параметров нет |
Пример запроса
Пример успешного ответа
flow_hooks/ddos_protect¶
Активирует защиту от DDoS для указанного IP/CIDR и уведомляет клиента.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: ddos_protect |
| ip | ✅ | integer | IP-адрес в формате long (целое число) |
| cidr | ✅ | string | Сетевой префикс для защиты в формате CIDR |
| rate | ✅ | number | Скорость атаки в Мбит/с |
| pps | ✅ | integer | Количество пакетов в секунду (PPS) |
| routers | ✅ | string | Список маршрутизаторов для применения защиты |
Пример запроса
Пример успешного ответа
flow_hooks/ddos_unprotect¶
Снимает защиту с IP/CIDR и удаляет соответствующие теги.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: ddos_unprotect |
| ip | ❌ | string | IP-адрес для снятия защиты. Может быть представлен в числовом формате. |
| cidr | ❌ | string | Сетевой префикс (CIDR) для снятия защиты и удаления тегов. |
Пример запроса
flow_hooks/mac_change¶
Обновляет MAC-адрес для конкретного IP.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: mac_change |
| ip | ✅ | string | IP-адрес устройства для смены MAC-адреса |
| new_mac | ✅ | string | Новый MAC-адрес устройства |
Пример запроса
flow_hooks/traffic_tick¶
Регистрирует данные о прохождении трафика для конкретного IP-адреса или групповое обновление.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: traffic_tick |
| ip | ❌ | string | IP-адрес для регистрации трафика. Если не указан или пуст, выполняется групповое обновление. |
| direction | ❌ | string | Направление трафика. |
| volume | ❌ | number | Объем переданного трафика. |
| data | ❌ | array<string> | Массив данных для группового обновления трафика. |
Пример запроса
flow_hooks/mac_report¶
Групповая отправка отчетов по статическим MAC-адресам для проверки соответствия IP.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: mac_report |
| ip | ✅ | string | IP-адрес для сопоставления с MAC-адресами. |
| macs | ✅ | array<string> | Список статических MAC-адресов для обработки. |
Пример запроса
flow_hooks/ddos_blackhole¶
Инициирует процесс блокировки IP-адреса (blackhole) в случае обнаружения чрезмерного трафика. Если количество предупреждений достигло порога, выполняется сетевая блокировка.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: ddos_blackhole |
| ip | ✅ | string | IP-адрес сервера для проверки и возможной блокировки. |
| rate | ✅ | number | Скорость трафика в Мбит/с. |
| pps | ✅ | integer | Количество пакетов в секунду (packets per second). |
Пример запроса
Пример успешного ответа
flow_hooks/ddos_unblock¶
Снимает ограничение blackhole для конкретного IP-адреса, если у сервера был установлен соответствующий тег.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: ddos_unblock |
| ip | ✅ | string | IP-адрес для снятия блокировки. Может быть представлен в виде строки или числового значения (long). |
Пример запроса
flow_hooks/ddos_warning¶
Отправляет уведомление клиенту и логирует факт обнаружения подозрительного трафика без немедленной блокировки.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: ddos_warning |
| - | - | - | Других параметров нет |
Пример запроса
flow_hooks/mac_check¶
Запускает процесс верификации ARP-записей: проверяет, соответствует ли текущий MAC-адрес зарегистрированному в базе для данного IP.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: mac_check |
| amount | ❌ | integer | Количество IP-адресов для обработки за один проход. |
| skip | ❌ | integer | Количество IP-адресов, которые необходимо пропустить из набора данных. |
| status | ❌ | integer | Статус записей для обработки. Допустимые значения: 0 - все необработанные элементы, -1 - все неудачные элементы, 1 - все обработанные элементы. |
| id | ❌ | integer | ID конкретной записи для повторной проверки. |
Пример запроса