откат
This commit is contained in:
parent
e091465e60
commit
40cd2b5b28
2 changed files with 17 additions and 15 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
from fastapi import APIRouter, HTTPException, Body
|
from fastapi import APIRouter, HTTPException
|
||||||
from models.subnet import SubnetScanResult, SubnetScanRequest
|
from typing import List, Dict
|
||||||
|
from models.subnet import SubnetScanResult
|
||||||
from models.wifi import WifiScanResult
|
from models.wifi import WifiScanResult
|
||||||
from models.request import NoteRequest, WifiConnectRequest, WifiDisconnectRequest
|
from models.request import NoteRequest, WifiConnectRequest, WifiDisconnectRequest
|
||||||
from services.subnet_service import SubnetService
|
from services.subnet_service import SubnetService
|
||||||
|
|
@ -9,16 +10,17 @@ from services.connect_service import WifiConnectionService
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@router.get("/devices", response_model=SubnetScanResult)
|
@router.get("/devices", response_model=SubnetScanResult)
|
||||||
def scan_subnet(request: SubnetScanRequest = Body(...)):
|
def scan_subnet(subnet: str = "192.168.1.0/24", ports: List[int] = None):
|
||||||
"""Сканирует локальную подсеть и возвращает данные об устройствах.
|
"""Сканирует локальную подсеть и возвращает данные об устройствах.
|
||||||
|
|
||||||
Выполняет сканирование указанной подсети для обнаружения активных устройств
|
Выполняет сканирование указанной подсети для обнаружения активных устройств
|
||||||
с возможностью проверки указанных портов.
|
с возможностью проверки указанных портов.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
request (SubnetScanResult): Параметры для сканирования подсети.
|
subnet (str, optional): Адрес подсети в формате CIDR (например, "192.168.1.0/24").
|
||||||
- subnet (str, optional): Подсеть для сканирования (например "192.168.1.0/24").
|
По умолчанию "192.168.1.0/24".
|
||||||
По умолчанию, если subnet пуст, то сканируется подсеть "192.168.1.0/24".
|
ports (List[int], optional): Список портов для сканирования. По умолчанию None.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
SubnetScanResult: Объект с результатами сканирования (устройства и их данные).
|
SubnetScanResult: Объект с результатами сканирования (устройства и их данные).
|
||||||
|
|
||||||
|
|
@ -27,7 +29,7 @@ def scan_subnet(request: SubnetScanRequest = Body(...)):
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
subnet_service = SubnetService()
|
subnet_service = SubnetService()
|
||||||
result = subnet_service.scan_subnet(request.subnet)
|
result = subnet_service.scan_subnet(subnet, ports)
|
||||||
return result
|
return result
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise HTTPException(status_code=500, detail=f"Ошибка сканирования: {str(e)}")
|
raise HTTPException(status_code=500, detail=f"Ошибка сканирования: {str(e)}")
|
||||||
|
|
|
||||||
|
|
@ -37,11 +37,11 @@ class SubnetScanResult(BaseModel):
|
||||||
|
|
||||||
devices: List[Device] = []
|
devices: List[Device] = []
|
||||||
|
|
||||||
class SubnetScanRequest(BaseModel):
|
#class SubnetScanRequest(BaseModel):
|
||||||
"""
|
# """
|
||||||
Параметры для сканирования подсети
|
# Параметры для сканирования подсети
|
||||||
|
#
|
||||||
Атрибуты:
|
# Атрибуты:
|
||||||
subnet (str): Подсеть для сканирования (например 192.168.1.0/24)
|
# subnet (str): Подсеть для сканирования (например 192.168.1.0/24)
|
||||||
"""
|
# """
|
||||||
subnet: Optional[str] = "192.168.1.0/24"
|
# subnet: Optional[str] = "192.168.1.0/24"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue