Compare commits
No commits in common. "da0763806b02e63accf265f089d706000a7a97db" and "673dd5122672e8e9f6ceab878c93c256e41c1d6e" have entirely different histories.
da0763806b
...
673dd51226
1 changed files with 4 additions and 11 deletions
15
enrich.py
15
enrich.py
|
@ -344,7 +344,6 @@ 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
|
|
||||||
|
|
||||||
for tag in tags:
|
for tag in tags:
|
||||||
tag_number = tag.get('wlan.tag.number')
|
tag_number = tag.get('wlan.tag.number')
|
||||||
|
@ -369,9 +368,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
|
||||||
|
|
||||||
|
@ -421,21 +417,18 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
|
||||||
signals = ssid_signals.get(ssid, [])
|
signals = ssid_signals.get(ssid, [])
|
||||||
ssid_summary.append({
|
ssid_summary.append({
|
||||||
'SSID': ssid,
|
'SSID': ssid,
|
||||||
'Hidden': ssid == '',
|
'Hidden': ssid_hidden_status.get(ssid, False),
|
||||||
'Open': is_open,
|
|
||||||
'BSSID_Count': len(bssids),
|
'BSSID_Count': len(bssids),
|
||||||
'BSSIDs': ";".join(sorted(bssids)),
|
|
||||||
'Avg_Signal': mean(signals) if signals else 0,
|
'Avg_Signal': mean(signals) if signals else 0,
|
||||||
'Max_Signal': max(signals) if signals else 0,
|
'Max_Signal': max(signals) if signals else 0,
|
||||||
'Min_Signal': min(signals) if signals else 0,
|
'Min_Signal': min(signals) if signals else 0,
|
||||||
'Clients_Seen': len(ssid_clients.get(ssid, [])),
|
'Clients_Seen': len(ssid_clients.get(ssid, [])),
|
||||||
'CiscoAvgClients': round(mean(cisco_reported_clients), 2) if cisco_reported_clients else 0,
|
'CiscoAvgClients': round(mean(cisco_ssid_clients.get(ssid, [])), 2) if cisco_ssid_clients.get(ssid) else 0,
|
||||||
'CiscoMaxClients': max(cisco_reported_clients) if cisco_reported_clients else 0
|
'CiscoMaxClients': max(cisco_ssid_clients.get(ssid, [])) if cisco_ssid_clients.get(ssid) else 0
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
cap.close()
|
cap.close()
|
||||||
|
|
||||||
|
@ -516,7 +509,7 @@ def main():
|
||||||
ssid_outfile = args.output.replace('.csv+rf.csv', '-ssid-metrics.csv')
|
ssid_outfile = args.output.replace('.csv+rf.csv', '-ssid-metrics.csv')
|
||||||
with open(ssid_outfile, 'w', newline='', encoding='utf-8') as f:
|
with open(ssid_outfile, 'w', newline='', encoding='utf-8') as f:
|
||||||
fieldnames = [
|
fieldnames = [
|
||||||
'SSID', 'Hidden', 'Open', 'BSSID_Count', 'BSSIDs', 'Avg_Signal', 'Max_Signal',
|
'SSID', 'Hidden', 'BSSID_Count', 'Avg_Signal', 'Max_Signal',
|
||||||
'Min_Signal', 'Clients_Seen', 'CiscoAvgClients', 'CiscoMaxClients'
|
'Min_Signal', 'Clients_Seen', 'CiscoAvgClients', 'CiscoMaxClients'
|
||||||
]
|
]
|
||||||
ssid_writer = csv.DictWriter(f, fieldnames=fieldnames)
|
ssid_writer = csv.DictWriter(f, fieldnames=fieldnames)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue