Enhance analyze_pcap function to store multiple SSID encryption statuses and update summary output

This commit is contained in:
Yaro Kasear 2025-04-22 08:43:56 -05:00
parent e0e6bd6a99
commit 7be1550278

View file

@ -393,9 +393,12 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
continue
ssid_hidden_status[ssid] = hidden_ssid
if ssid not in ssid_encryption_status:
ssid_encryption_status[ssid] = is_open
# Store all observed values
if ssid in ssid_encryption_status:
ssid_encryption_status[ssid].append(is_open)
else:
ssid_encryption_status[ssid] = [is_open]
ssid_packet_counts[ssid] += 1
bssid = getattr(wlan, 'bssid', '').lower()
@ -434,7 +437,7 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
ssid_summary.append({
'SSID': ssid,
'Hidden': ssid_hidden_status.get(ssid, False),
'Open': ssid_encryption_status.get(ssid, True),
'Open': all(ssid_encryption_status.get(ssid, [True])),
'BSSID_Count': len(bssids),
'BSSIDs': ";".join(sorted(bssids)),
'Avg_Signal': mean(signals) if signals else 0,