Enhance analyze_pcap function to determine open status based on WLAN capabilities

This commit is contained in:
Yaro Kasear 2025-04-21 15:23:34 -05:00
parent 434add2694
commit 0129ddeaa2

View file

@ -345,7 +345,17 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
ssid = None ssid = None
hidden_ssid = False hidden_ssid = False
is_open = True is_open = True
capabilities = getattr(wlan, 'capabilities', None)
if capabilities:
try:
cap_int = int(capabilities, 16)
if cap_int & 0x0010 == 0:
is_open = False
except ValueError:
pass
for tag in tags: for tag in tags:
tag_number = tag.get('wlan.tag.number') tag_number = tag.get('wlan.tag.number')
@ -370,9 +380,6 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
except (TypeError, ValueError): except (TypeError, ValueError):
pass pass
if tag_number in {'48', '221'}:
is_open = False
if ssid: if ssid:
ssid_hidden_status[ssid] = hidden_ssid ssid_hidden_status[ssid] = hidden_ssid
ssid_packet_counts[ssid] += 1 ssid_packet_counts[ssid] += 1