Enhance BSSID retrieval in get_connected_bssid function using regex for improved accuracy; clean up imports.

This commit is contained in:
Yaro Kasear 2025-05-01 10:25:21 -05:00
parent 7daa6e1543
commit 9665180077

View file

@ -1,14 +1,16 @@
#!/usr/bin/env python3
import os
import signal
import csv
import sys
import os
import re
import signal
import subprocess
import sys
import time
from scapy.all import sniff, Dot11, RadioTap
from argparse import ArgumentParser
from collections import defaultdict
from datetime import datetime
from argparse import ArgumentParser
from scapy.all import sniff, Dot11, RadioTap
# === Globals ===
running = True
@ -151,14 +153,15 @@ def reset_interface(interface):
def get_connected_bssid(interface):
try:
out = subprocess.check_output(["iw", interface, "link"]).decode()
for line in out.splitlines():
if "Connected to" in line:
return line.strip().split()[-1].lower()
match = re.search(r"Connected to ([0-9a-f:]{17})", out.lower())
if match:
return match.group(1)
print("[!] No valid MAC address found in iw link output.")
return None
except Exception as e:
print(f"[!] Failed to get connected BSSID for {interface}: {e}")
return None
# === Main ===
def main():
parser = ArgumentParser()