diff --git a/enrichment/indexed_capture.py b/enrichment/indexed_capture.py index 3104f19..5aa5b56 100644 --- a/enrichment/indexed_capture.py +++ b/enrichment/indexed_capture.py @@ -137,6 +137,9 @@ class IndexedCapture: ] def query_metrics(self, start_ts, end_ts, ap_bssid, ap_channel): + ap_channel = int(ap_channel) + assert isinstance(ap_channel, int), f"ap_channel must be int, got {type(ap_channel)}" + packets = self.get_packets_in_time_range(start_ts, end_ts) # Build local windowed structures @@ -164,17 +167,17 @@ class IndexedCapture: # Determine subtype subtype = int(getattr(wlan, 'type_subtype', '0'), 16) - + # Always debug if resolved channel == AP's channel if channel == ap_channel: print(f"[DEBUG] Packet: subtype={subtype}, bssid={bssid}, sa={sa}, da={da}") - + # Track APs (beacons / probe responses only) if subtype in (5, 8) and bssid: window_aps[channel].add(bssid) if channel == ap_channel: print(f"[DEBUG] [AP] Adding bssid={bssid} to window_aps[{channel}]") - + # Track clients (always) for mac in (sa, da): if mac and mac != 'ff:ff:ff:ff:ff:ff':