Remove unused Cisco client metrics and update BSSID and channel counts in CSV output
This commit is contained in:
parent
689fd80e29
commit
f95945883c
2 changed files with 9 additions and 11 deletions
|
@ -54,7 +54,6 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
|
||||||
ssid_clients = defaultdict(set)
|
ssid_clients = defaultdict(set)
|
||||||
ssid_hidden_status = {}
|
ssid_hidden_status = {}
|
||||||
ssid_encryption_status = {}
|
ssid_encryption_status = {}
|
||||||
cisco_ssid_clients = defaultdict(list)
|
|
||||||
ssid_signals = defaultdict(list)
|
ssid_signals = defaultdict(list)
|
||||||
ssid_to_bssids = defaultdict(set)
|
ssid_to_bssids = defaultdict(set)
|
||||||
bssid_to_ssid = {}
|
bssid_to_ssid = {}
|
||||||
|
@ -74,7 +73,6 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
|
||||||
ssid_hidden_status,
|
ssid_hidden_status,
|
||||||
ssid_encryption_status,
|
ssid_encryption_status,
|
||||||
ssid_signals,
|
ssid_signals,
|
||||||
cisco_ssid_clients,
|
|
||||||
cisco_reported_clients,
|
cisco_reported_clients,
|
||||||
ssid_packet_counts,
|
ssid_packet_counts,
|
||||||
ssid_clients
|
ssid_clients
|
||||||
|
@ -107,8 +105,6 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
|
||||||
'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_ssid_clients[ssid]), 2) if ssid in cisco_ssid_clients else 0,
|
|
||||||
'CiscoMaxClients': max(cisco_ssid_clients[ssid]) if ssid in cisco_ssid_clients else 0,
|
|
||||||
'PacketCount': ssid_packet_counts[ssid]
|
'PacketCount': ssid_packet_counts[ssid]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -138,7 +134,6 @@ def main():
|
||||||
fieldnames = original_fields + [
|
fieldnames = original_fields + [
|
||||||
'ClientsOnAP', 'ClientsOnChannel', 'APsOnChannel',
|
'ClientsOnAP', 'ClientsOnChannel', 'APsOnChannel',
|
||||||
'AvgAPSignal', 'StrongestAPSignal', 'UnlinkedDevices',
|
'AvgAPSignal', 'StrongestAPSignal', 'UnlinkedDevices',
|
||||||
'CiscoAvgReportedClients', 'CiscoMaxReportedClients',
|
|
||||||
'NumberofBSSIDsOnSSID', 'AvgSSIDSignal', 'MaxSSIDSignal',
|
'NumberofBSSIDsOnSSID', 'AvgSSIDSignal', 'MaxSSIDSignal',
|
||||||
'NumberofChannelsOnSSID', 'PacketCount'
|
'NumberofChannelsOnSSID', 'PacketCount'
|
||||||
]
|
]
|
||||||
|
@ -178,8 +173,6 @@ def main():
|
||||||
'AvgAPSignal': avg_signal,
|
'AvgAPSignal': avg_signal,
|
||||||
'StrongestAPSignal': strongest_signal,
|
'StrongestAPSignal': strongest_signal,
|
||||||
'UnlinkedDevices': unlinked,
|
'UnlinkedDevices': unlinked,
|
||||||
'CiscoAvgReportedClients': cisco_avg_reported_clients,
|
|
||||||
'CiscoMaxReportedClients': cisco_max_reported_clients,
|
|
||||||
'NumberofBSSIDsOnSSID': num_bssids,
|
'NumberofBSSIDsOnSSID': num_bssids,
|
||||||
'AvgSSIDSignal': average_signal,
|
'AvgSSIDSignal': average_signal,
|
||||||
'MaxSSIDSignal': max_ssid_signal,
|
'MaxSSIDSignal': max_ssid_signal,
|
||||||
|
|
13
listener.py
13
listener.py
|
@ -160,10 +160,15 @@ def write_csv(outfile):
|
||||||
"AvgSSIDSignal": round(sum([sum(v)/len(v) for v in ssid_signals.values() if v]) / len(ssid_signals) if ssid_signals else 0, 2),
|
"AvgSSIDSignal": round(sum([sum(v)/len(v) for v in ssid_signals.values() if v]) / len(ssid_signals) if ssid_signals else 0, 2),
|
||||||
"MaxSSIDSignal": max([max(v) for v in ssid_signals.values() if v], default=0),
|
"MaxSSIDSignal": max([max(v) for v in ssid_signals.values() if v], default=0),
|
||||||
"ClientsOnAP": len([mac for mac, count in ap_clients[target_ap_bssid].items() if count > 3]),
|
"ClientsOnAP": len([mac for mac, count in ap_clients[target_ap_bssid].items() if count > 3]),
|
||||||
"CiscoAvgReportedClients": "N/A",
|
"NumberofBSSIDsOnSSID": len([
|
||||||
"CiscoMaxReportedClients": "N/A",
|
bssid for bssid, ssid in ssid_map.items()
|
||||||
"NumberofBSSIDsOnSSID": "N/A",
|
if target_ap_bssid in ssid_map and ssid == ssid_map.get(target_ap_bssid)
|
||||||
"NumberofChannelsOnSSID": "N/A",
|
]) if target_ap_bssid and target_ap_bssid in ssid_map else 0,
|
||||||
|
"NumberofChannelsOnSSID": len(set([
|
||||||
|
bssid_channels.get(bssid)
|
||||||
|
for bssid, ssid in ssid_map.items()
|
||||||
|
if target_ap_bssid in ssid_map and ssid == ssid_map.get(target_ap_bssid)
|
||||||
|
])) if target_ap_bssid and target_ap_bssid in ssid_map else 0,
|
||||||
"UnlinkedDevices": len(unlinked_candidates),
|
"UnlinkedDevices": len(unlinked_candidates),
|
||||||
"Deadpoints": len([ap for ap in aps if is_deadpoint(ap)])
|
"Deadpoints": len([ap for ap in aps if is_deadpoint(ap)])
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue