diff --git a/backend/src/main.py b/backend/src/main.py index 020f9dc..ef5f3b7 100644 --- a/backend/src/main.py +++ b/backend/src/main.py @@ -61,4 +61,4 @@ def nft_ruleset(): # --------------------- app.include_router(network_api.router, prefix="/network", tags=["network"]) -app.include_router(sniffer_router.router, prefix="/sniff", tags=["sniffer"]) \ No newline at end of file +app.include_router(sniffer_router.router, prefix="/sniffer", tags=["sniffer"]) \ No newline at end of file diff --git a/backend/src/network_api.py b/backend/src/network_api.py index 575784a..a99b9de 100644 --- a/backend/src/network_api.py +++ b/backend/src/network_api.py @@ -350,7 +350,7 @@ def full_state( "bridges": get_bridges(), # uses NDB internally } -@router.post("/create") +@router.post("/bridge/create") def create_bridge(req: BridgeCreateRequest, ip: IPRoute = Depends(get_iproute)): if bridge_exists(req.name, ip): raise HTTPException(400, f"Bridge {req.name} already exists") @@ -382,7 +382,7 @@ def create_bridge(req: BridgeCreateRequest, ip: IPRoute = Depends(get_iproute)): } -@router.post("/remove") +@router.post("/bridge/remove") def remove_bridge(req: BridgeRemoveRequest, ip: IPRoute = Depends(get_iproute)): if not bridge_exists(req.name, ip): raise HTTPException(404, f"Bridge {req.name} not found") diff --git a/backend/src/network_sniffer.py b/backend/src/network_sniffer.py index 62059dd..0abef56 100644 --- a/backend/src/network_sniffer.py +++ b/backend/src/network_sniffer.py @@ -127,7 +127,7 @@ def handle_packet(pkt, bridge: str): "dst_ip": pkt[IP].dst if IP in pkt else None, "protocol": pkt[IP].proto if IP in pkt else None, "length": len(pkt), - "raw": bytes(pkt) + "raw": pkt.json() } asyncio.run_coroutine_threadsafe(db_insert_packet(pkt_info), async_loop) diff --git a/backend/src/routes_sniffer.py b/backend/src/routes_sniffer.py index 9d7829c..eb4b51d 100644 --- a/backend/src/routes_sniffer.py +++ b/backend/src/routes_sniffer.py @@ -4,7 +4,7 @@ from src.network_sniffer import start_sniffing, stop_sniffing router = APIRouter() -@router.post("/sniffer/start") +@router.post("/start_sniffer") async def start_sniffer(bridge: str): """ Start packet sniffing on bridge member interfaces. @@ -18,7 +18,7 @@ async def start_sniffer(bridge: str): } -@router.post("/sniffer/stop") +@router.post("/stop_sniffer") async def stop_sniffer_api(): await stop_sniffing() return {"status": "stopped"}