Generate Sphinx docs in markdown

This commit is contained in:
Merelden 2025-10-14 16:11:12 +05:00
parent bc4e9caacb
commit 81ff7959f7
84 changed files with 2873 additions and 29 deletions

View file

@ -0,0 +1,55 @@
# ARP Service
Сервис низкоуровневого ARP-сканирования локальной сети.
Назначение:
- Обнаружение активных узлов в пределах сетей хоста путём широковещательных ARP‑запросов от имени выбранного интерфейса.
- Помощь сервисам более высокого уровня (например, IPService) при проверке занятости адресов перед применением конфигураций.
Особенности реализации:
- Определяет подключённые сети интерфейса через netifaces и строит CIDR для сканирования.
- Формирует ARP‑пакеты с помощью scapy (Ether/ARP) и отправляет их с таймаутом.
- Добавляет локальный адрес интерфейса в результирующий список клиентов.
Требования/ограничения:
- Для отправки ARP‑кадров могут потребоваться повышенные привилегии или capability на сырой сокет.
### *class* services.arp_service.NetworkScanner(interface=None, translations: Translations = Depends(translations_dependency))
Bases: `object`
Инициализация сетевого сканера.
Предоставляет методы для сканирования сети с использованием ARP-запросов и
вывода информации о клиентах.
#### print_clients(clients)
Выводит список адресов клиентов в формате таблицы.
* **Parameters:**
**clients** (*List* *[**dict* *]*) – Список словарей с ключами “ip” и “mac”,
представляющих клиентов.
Выводит IP-адреса и MAC-адреса в отсортированном по IP порядке.
#### scan_network(attempts=3, timeout=2)
Сканирует сеть для обнаружения активных клиентов.
* **Parameters:**
* **attempts** (*int* *,* *optional*) – Количество попыток отправки ARP-запросов.
По умолчанию 3.
* **timeout** (*int* *,* *optional*) – Таймаут ожидания ответа в секундах.
По умолчанию 2.
* **Returns:**
Список словарей с ключами “ip” и “mac”, представляющих
: обнаруженных клиентов, включая локальные IP-адреса.
* **Return type:**
List[dict]
#### NOTE
Учитывает локальные IP-адреса интерфейса и удаляет дубликаты.