Refactor analyze_pcap function to improve SSID reporting; include BSSID list and adjust Cisco client metrics calculation.
This commit is contained in:
parent
673dd51226
commit
5f42fb7d9e
1 changed files with 6 additions and 4 deletions
10
enrich.py
10
enrich.py
|
@ -417,18 +417,20 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
|
|||
signals = ssid_signals.get(ssid, [])
|
||||
ssid_summary.append({
|
||||
'SSID': ssid,
|
||||
'Hidden': ssid_hidden_status.get(ssid, False),
|
||||
'Hidden': ssid == '',
|
||||
'BSSID_Count': len(bssids),
|
||||
'BSSIDs': ";".join(sorted(bssids)),
|
||||
'Avg_Signal': mean(signals) if signals else 0,
|
||||
'Max_Signal': max(signals) if signals else 0,
|
||||
'Min_Signal': min(signals) if signals else 0,
|
||||
'Clients_Seen': len(ssid_clients.get(ssid, [])),
|
||||
'CiscoAvgClients': round(mean(cisco_ssid_clients.get(ssid, [])), 2) if cisco_ssid_clients.get(ssid) else 0,
|
||||
'CiscoMaxClients': max(cisco_ssid_clients.get(ssid, [])) if cisco_ssid_clients.get(ssid) else 0
|
||||
'CiscoAvgClients': round(mean(cisco_reported_clients), 2) if cisco_reported_clients else 0,
|
||||
'CiscoMaxClients': max(cisco_reported_clients) if cisco_reported_clients else 0
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
finally:
|
||||
cap.close()
|
||||
|
||||
|
@ -509,7 +511,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', 'Avg_Signal', 'Max_Signal',
|
||||
'SSID', 'Hidden', 'BSSID_Count', 'BSSIDs', 'Avg_Signal', 'Max_Signal',
|
||||
'Min_Signal', 'Clients_Seen', 'CiscoAvgClients', 'CiscoMaxClients'
|
||||
]
|
||||
ssid_writer = csv.DictWriter(f, fieldnames=fieldnames)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue