gonets/SRV/models/subnet.py
2025-07-03 13:16:58 +05:00

47 lines
1.6 KiB
Python

from pydantic import BaseModel
from typing import Optional, List
class Device(BaseModel):
"""
Сканируемое устройство в подсети
Атрибуты:
ip (str): IP-адрес устройства
mac (Optional[str]): MAC-адрес устройства
hostname (Optional[str]): Имя хоста
vendor (Optional[str]): Название производителя устройства (По MAC-адресу)
open_ports (List[str]): Открытые порты устройства
status (str): Статус устройства (онлайн/оффлайн)
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
class SubnetScanResult(BaseModel):
"""
Результат сканирования устройств в подсети
Атрибуты:
devices (List[Device]): Список просканированных устройств
"""
devices: List[Device] = []
#class SubnetScanRequest(BaseModel):
# """
# Параметры для сканирования подсети
#
# Атрибуты:
# subnet (str): Подсеть для сканирования (например 192.168.1.0/24)
# """
# subnet: Optional[str] = "192.168.1.0/24"