From da0763806b02e63accf265f089d706000a7a97db Mon Sep 17 00:00:00 2001 From: Yaro Kasear Date: Thu, 17 Apr 2025 15:20:22 -0500 Subject: [PATCH] Add 'Open' status to SSID summary in analyze_pcap function for enhanced metrics reporting --- enrich.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/enrich.py b/enrich.py index d31f331..4b1b4e1 100755 --- a/enrich.py +++ b/enrich.py @@ -344,6 +344,7 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel): ssid = None hidden_ssid = False + is_open = True for tag in tags: tag_number = tag.get('wlan.tag.number') @@ -367,6 +368,9 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel): cisco_ssid_clients[ssid].append(num_clients) except (TypeError, ValueError): pass + + if tag_number in {'48', '221'}: + is_open = False if ssid: ssid_hidden_status[ssid] = hidden_ssid @@ -418,6 +422,7 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel): ssid_summary.append({ 'SSID': ssid, 'Hidden': ssid == '', + 'Open': is_open, 'BSSID_Count': len(bssids), 'BSSIDs': ";".join(sorted(bssids)), 'Avg_Signal': mean(signals) if signals else 0, @@ -511,7 +516,7 @@ def main(): ssid_outfile = args.output.replace('.csv+rf.csv', '-ssid-metrics.csv') with open(ssid_outfile, 'w', newline='', encoding='utf-8') as f: fieldnames = [ - 'SSID', 'Hidden', 'BSSID_Count', 'BSSIDs', 'Avg_Signal', 'Max_Signal', + 'SSID', 'Hidden', 'Open', 'BSSID_Count', 'BSSIDs', 'Avg_Signal', 'Max_Signal', 'Min_Signal', 'Clients_Seen', 'CiscoAvgClients', 'CiscoMaxClients' ] ssid_writer = csv.DictWriter(f, fieldnames=fieldnames)