Compare commits

..

No commits in common. "e3c3647a7eafed1ace1a9936227b8c9042dea396" and "4891f0bdfe5f30a591d37669285e44afed8ea01a" have entirely different histories.

View file

@ -305,7 +305,6 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
ssid_to_bssids = defaultdict(set)
bssid_to_ssid = {}
cisco_reported_clients = []
ssid_packet_counts = defaultdict(int)
try:
# Filter packets manually by timestamp
@ -375,7 +374,7 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
if ssid:
ssid_hidden_status[ssid] = hidden_ssid
ssid_packet_counts[ssid] += 1
# Cisco Client Count
if tag_number == '133':
@ -431,19 +430,17 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
'Min_Signal': min(signals) if signals else 0,
'Clients_Seen': len(ssid_clients.get(ssid, [])),
'CiscoAvgClients': round(mean(cisco_reported_clients), 2) if cisco_reported_clients else 0,
'CiscoMaxClients': max(cisco_reported_clients) if cisco_reported_clients else 0,
'PacketCount': ssid_packet_counts[ssid]
'CiscoMaxClients': max(cisco_reported_clients) if cisco_reported_clients else 0
})
finally:
packet_count = len(filtered_packets)
cap.close()
return (clients_on_ap, clients_on_channel, aps_on_channel,
avg_ap_signal, max_ap_signal, unlinked_devices,
cisco_avg_reported_clients, cisco_max_reported_clients, num_bssids,
average_signal, max_ssid_signal, num_channels_ssid,
ssid_summary, packet_count)
ssid_summary)
def main():
args = parse_args()
@ -473,7 +470,7 @@ def main():
'ClientsOnAP', 'ClientsOnChannel', 'APsOnChannel',
'AvgAPSignal', 'StrongestAPSignal', 'UnlinkedDevices',
'CiscoAvgReportedClients', 'CiscoMaxReportedClients', 'NumberofBSSIDsOnSSID',
'AvgSSIDSignal', 'MaxSSIDSignal', 'NumberofChannelsOnSSID', 'PacketCount'
'AvgSSIDSignal', 'MaxSSIDSignal', 'NumberofChannelsOnSSID'
]
writer = csv.DictWriter(outfile, fieldnames=fieldnames)
writer.writeheader()
@ -492,7 +489,7 @@ def main():
avg_signal, strongest_signal, unlinked, \
cisco_avg_reported_clients, cisco_max_reported_clients, num_bssids, \
average_signal, max_ssid_signal, num_channels_ssid, \
ssid_summary, packet_count = analyze_pcap(args.pcapng, tstart, tend, ap_bssid, ap_channel)
ssid_summary = analyze_pcap(args.pcapng, tstart, tend, ap_bssid, ap_channel)
row.update({
'ClientsOnAP': clients_ap,
@ -506,8 +503,7 @@ def main():
'NumberofBSSIDsOnSSID': num_bssids,
'AvgSSIDSignal': average_signal,
'MaxSSIDSignal': max_ssid_signal,
'NumberofChannelsOnSSID': num_channels_ssid,
'PacketCount': packet_count
'NumberofChannelsOnSSID': num_channels_ssid
})
writer.writerow(row)
@ -518,7 +514,7 @@ def main():
with open(ssid_outfile, 'w', newline='', encoding='utf-8') as f:
fieldnames = [
'SSID', 'Hidden', 'Open', 'BSSID_Count', 'BSSIDs', 'Avg_Signal', 'Max_Signal',
'Min_Signal', 'Clients_Seen', 'CiscoAvgClients', 'CiscoMaxClients', 'PacketCount'
'Min_Signal', 'Clients_Seen', 'CiscoAvgClients', 'CiscoMaxClients'
]
ssid_writer = csv.DictWriter(f, fieldnames=fieldnames)
ssid_writer.writeheader()