Remove debug print statement for type/subtype value in get_aps_on_channel
This commit is contained in:
parent
439018ba85
commit
5c87c2dc43
1 changed files with 48 additions and 3 deletions
51
enrich.py
51
enrich.py
|
@ -183,9 +183,6 @@ def get_aps_on_channel(capture, ap_channel):
|
||||||
if ts_hex is None:
|
if ts_hex is None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# For debugging purposes, display the type_subtype value with some sarcasm
|
|
||||||
print(f"Type/Subtype Hex: {ts_hex}")
|
|
||||||
|
|
||||||
ts = int(ts_hex, 16)
|
ts = int(ts_hex, 16)
|
||||||
if ts not in (5, 8): # Probe Response or Beacon
|
if ts not in (5, 8): # Probe Response or Beacon
|
||||||
continue
|
continue
|
||||||
|
@ -201,6 +198,49 @@ def get_aps_on_channel(capture, ap_channel):
|
||||||
|
|
||||||
return len(aps)
|
return len(aps)
|
||||||
|
|
||||||
|
def calculate_avg_ap_signal_strength(capture, ap_channel):
|
||||||
|
try:
|
||||||
|
ap_channel = int(ap_channel)
|
||||||
|
except ValueError:
|
||||||
|
print(f"[!] Could not parse channel number: {ap_channel}")
|
||||||
|
return 0
|
||||||
|
|
||||||
|
ap_signals = []
|
||||||
|
for packet in capture:
|
||||||
|
try:
|
||||||
|
if 'radiotap' not in packet or 'wlan' not in packet:
|
||||||
|
continue
|
||||||
|
|
||||||
|
radio = packet.radiotap
|
||||||
|
wlan = packet.wlan
|
||||||
|
|
||||||
|
if not hasattr(radio, 'channel') or not hasattr(radio.channel, 'freq'):
|
||||||
|
continue
|
||||||
|
|
||||||
|
packet_freq = int(radio.channel.freq)
|
||||||
|
packet_channel = get_channel_from_freq(packet_freq)
|
||||||
|
|
||||||
|
if packet_channel != ap_channel:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Check for beacon or probe response
|
||||||
|
ts_hex = getattr(wlan, 'type_subtype', None)
|
||||||
|
if ts_hex is None:
|
||||||
|
continue
|
||||||
|
|
||||||
|
ts = int(ts_hex, 16)
|
||||||
|
if ts not in (5, 8): # Probe Response or Beacon
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Get signal strength
|
||||||
|
signal_strength = getattr(radio, 'dbm_antsignal', None)
|
||||||
|
if signal_strength is not None:
|
||||||
|
ap_signals.append(int(signal_strength))
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[DEBUG] Signal strength parse error: {e}")
|
||||||
|
continue
|
||||||
|
|
||||||
def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
|
def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
|
||||||
cap = pyshark.FileCapture(
|
cap = pyshark.FileCapture(
|
||||||
pcapng_path,
|
pcapng_path,
|
||||||
|
@ -212,6 +252,8 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
|
||||||
|
|
||||||
clients_on_ap = 0
|
clients_on_ap = 0
|
||||||
clients_on_channel = 0
|
clients_on_channel = 0
|
||||||
|
aps_on_channel = 0
|
||||||
|
avg_ap_signal = 0
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Filter packets manually by timestamp
|
# Filter packets manually by timestamp
|
||||||
|
@ -231,6 +273,9 @@ def analyze_pcap(pcapng_path, start_ts, end_ts, ap_bssid, ap_channel):
|
||||||
# Placeholder: Logic will be added for:
|
# Placeholder: Logic will be added for:
|
||||||
# - CongestionScore
|
# - CongestionScore
|
||||||
# - AvgAPSignal
|
# - AvgAPSignal
|
||||||
|
|
||||||
|
avg_ap_signal = calculate_avg_ap_signal_strength(filtered_packets, ap_channel)
|
||||||
|
|
||||||
# - StrongestAPSignal
|
# - StrongestAPSignal
|
||||||
# - UnlinkedDevices
|
# - UnlinkedDevices
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue