test ebpf
All checks were successful
Build and Deploy MITM Webserver / build (push) Successful in 1m40s

This commit is contained in:
2026-03-07 10:06:24 +01:00
parent a98054cb5b
commit f9bbe9b73c
13 changed files with 1271 additions and 177 deletions

View File

@@ -11,7 +11,11 @@ class PacketDBModel(BaseModel):
id: Union[int, str]
timestamp: datetime = Field(..., description="Packet timestamp in ISO format.")
iface: str
packet_uid: str = Field(..., description="Stable packet identity used for upserts/correlation.")
iface: Optional[str] = None
ingress_if: Optional[str] = None
egress_if: Optional[str] = None
observed_ifaces: Optional[list[str]] = None
src_mac: Optional[str] = None
dst_mac: Optional[str] = None
eth_type: Optional[Union[int, str]] = None
@@ -31,7 +35,14 @@ class PacketDBModel(BaseModel):
app_is_encrypted: Optional[bool] = Field(None, description="Whether detected protocol appears encrypted.")
app_risk_score: Optional[int] = Field(None, description="Count/score of detected nDPI risks.")
dpi_metadata: Optional[dict] = Field(None, description="Raw DPI metadata from nDPI.")
telemetry_metadata: Optional[dict] = Field(None, description="Kernel telemetry details from eBPF collector.")
direction: Optional[str] = None
verdict: Optional[str] = None
verdict_reason: Optional[str] = None
verdict_confidence: Optional[str] = None
ingress_seen_at: Optional[datetime] = None
egress_seen_at: Optional[datetime] = None
verdict_seen_at: Optional[datetime] = None
packets: Optional[int] = None
class Config:
@@ -39,7 +50,11 @@ class PacketDBModel(BaseModel):
"example": {
"id": 123,
"timestamp": "2026-03-05T12:34:56.789Z",
"packet_uid": "9f6d3af0d3c81cb20ee8e7d32df7c56414460542",
"iface": "eth0",
"ingress_if": "eth0",
"egress_if": "eth1",
"observed_ifaces": ["eth0", "eth1"],
"src_mac": "aa:bb:cc:dd:ee:ff",
"dst_mac": "11:22:33:44:55:66",
"eth_type": "IPv4",
@@ -59,5 +74,10 @@ class PacketDBModel(BaseModel):
"app_is_encrypted": False,
"app_risk_score": 0,
"dpi_metadata": {"method": "GET"},
"telemetry_metadata": {"event_type": "egress", "iface": "eth1"},
"direction": "forwarded",
"verdict": "accept",
"verdict_reason": "egress-observed",
"verdict_confidence": "high",
}
}