Add packet count to analyze_pcap output and CSV reporting

This commit is contained in:
Yaro Kasear 2025-04-21 12:52:18 -05:00
parent 4891f0bdfe
commit 1d2fafb4e3

View file

@ -434,13 +434,14 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
}) })
finally: finally:
packet_count = len(filtered_packets)
cap.close() cap.close()
return (clients_on_ap, clients_on_channel, aps_on_channel, return (clients_on_ap, clients_on_channel, aps_on_channel,
avg_ap_signal, max_ap_signal, unlinked_devices, avg_ap_signal, max_ap_signal, unlinked_devices,
cisco_avg_reported_clients, cisco_max_reported_clients, num_bssids, cisco_avg_reported_clients, cisco_max_reported_clients, num_bssids,
average_signal, max_ssid_signal, num_channels_ssid, average_signal, max_ssid_signal, num_channels_ssid,
ssid_summary) ssid_summary, packet_count)
def main(): def main():
args = parse_args() args = parse_args()
@ -470,7 +471,7 @@ def main():
'ClientsOnAP', 'ClientsOnChannel', 'APsOnChannel', 'ClientsOnAP', 'ClientsOnChannel', 'APsOnChannel',
'AvgAPSignal', 'StrongestAPSignal', 'UnlinkedDevices', 'AvgAPSignal', 'StrongestAPSignal', 'UnlinkedDevices',
'CiscoAvgReportedClients', 'CiscoMaxReportedClients', 'NumberofBSSIDsOnSSID', 'CiscoAvgReportedClients', 'CiscoMaxReportedClients', 'NumberofBSSIDsOnSSID',
'AvgSSIDSignal', 'MaxSSIDSignal', 'NumberofChannelsOnSSID' 'AvgSSIDSignal', 'MaxSSIDSignal', 'NumberofChannelsOnSSID', 'PacketCount'
] ]
writer = csv.DictWriter(outfile, fieldnames=fieldnames) writer = csv.DictWriter(outfile, fieldnames=fieldnames)
writer.writeheader() writer.writeheader()
@ -489,7 +490,7 @@ def main():
avg_signal, strongest_signal, unlinked, \ avg_signal, strongest_signal, unlinked, \
cisco_avg_reported_clients, cisco_max_reported_clients, num_bssids, \ cisco_avg_reported_clients, cisco_max_reported_clients, num_bssids, \
average_signal, max_ssid_signal, num_channels_ssid, \ average_signal, max_ssid_signal, num_channels_ssid, \
ssid_summary = analyze_pcap(args.pcapng, tstart, tend, ap_bssid, ap_channel) ssid_summary, packet_count = analyze_pcap(args.pcapng, tstart, tend, ap_bssid, ap_channel)
row.update({ row.update({
'ClientsOnAP': clients_ap, 'ClientsOnAP': clients_ap,
@ -503,7 +504,8 @@ def main():
'NumberofBSSIDsOnSSID': num_bssids, 'NumberofBSSIDsOnSSID': num_bssids,
'AvgSSIDSignal': average_signal, 'AvgSSIDSignal': average_signal,
'MaxSSIDSignal': max_ssid_signal, 'MaxSSIDSignal': max_ssid_signal,
'NumberofChannelsOnSSID': num_channels_ssid 'NumberofChannelsOnSSID': num_channels_ssid,
'PacketCount': packet_count
}) })
writer.writerow(row) writer.writerow(row)