Source code for models.subnet

from pydantic import BaseModel
from typing import Optional, List

[docs] class Device(BaseModel): """Модель устройства, обнаруженного в подсети. Атрибуты: - ``ip`` (str): IP-адрес устройства. - ``mac`` (Optional[str]): MAC-адрес устройства. - ``hostname`` (Optional[str]): Имя хоста. - ``vendor`` (Optional[str]): Производитель оборудования. - ``open_ports`` (List[str]): Открытые порты. - ``status`` (str): Состояние устройства (online/offline). - ``last_seen`` (Optional[str]): Время последнего обнаружения. - ``note`` (Optional[str]): Пользовательская заметка. """ ip: str mac: Optional[str] = None hostname: Optional[str] = None vendor: Optional[str] = None open_ports: List[str] = [] status: str last_seen: Optional[str] = None note: Optional[str] = None
[docs] class SubnetScanResult(BaseModel): """Результат сканирования подсети. Атрибуты: - ``devices`` (List[Device]): Найденные устройства. - ``error`` (Optional[str]): Сообщение об ошибке сканирования. """ devices: List[Device] = [] error: Optional[str] = None
[docs] class SubnetScanRequest(BaseModel): """Параметры запроса на сканирование подсети. Атрибуты: - ``subnet`` (Optional[str]): CIDR подсети (например, ``192.168.1.0/24``). """ subnet: Optional[str] = None