Handle client connection - reject if auth is configured but not authenticated
()
| 14378 | '24:0A:C4': 'Espressif', '24:6F:28': 'Espressif', '24:62:AB': 'Espressif', |
| 14379 | '30:AE:A4': 'Espressif', '3C:61:05': 'Espressif', '3C:71:BF': 'Espressif', |
| 14380 | '40:F5:20': 'Espressif', '4C:11:AE': 'Espressif', '54:43:B2': 'Espressif', |
| 14381 | '58:BF:25': 'Espressif', '68:67:25': 'Espressif', '7C:9E:BD': 'Espressif', |
| 14382 | '84:0D:8E': 'Espressif', '84:CC:A8': 'Espressif', '8C:AA:B5': 'Espressif', |
| 14383 | '94:3C:C6': 'Espressif', 'A0:20:A6': 'Espressif', 'A4:CF:12': 'Espressif', |
| 14384 | 'AC:67:B2': 'Espressif', 'B4:E6:2D': 'Espressif', 'BC:DD:C2': 'Espressif', |
| 14385 | 'C4:4F:33': 'Espressif', 'C8:2B:96': 'Espressif', 'CC:50:E3': 'Espressif', |
| 14386 | 'D8:A0:1D': 'Espressif', 'DC:4F:22': 'Espressif', 'E0:98:06': 'Espressif', |
| 14387 | 'E8:68:E7': 'Espressif', 'EC:FA:BC': 'Espressif', 'F0:08:D1': 'Espressif', |
| 14388 | 'F4:CF:A2': 'Espressif', '10:52:1C': 'Espressif', '08:3A:F2': 'Espressif', |
| 14389 | 'B8:27:EB': 'Raspberry Pi', 'DC:A6:32': 'Raspberry Pi', |
| 14390 | 'D8:3A:DD': 'Raspberry Pi', '2C:CF:67': 'Raspberry Pi', |
| 14391 | 'E4:5F:01': 'Raspberry Pi', |
| 14392 | } |
| 14393 | |
| 14394 | findings = [] |
| 14395 | seen = set() |
| 14396 | |
| 14397 | for line in result.stdout.strip().split('\n'): |
| 14398 | if not line.strip(): |
| 14399 | continue |
| 14400 | # nmcli terse uses \: for escaped colons in BSSID |
| 14401 | # Format: BSSID:SSID:SIGNAL:SECURITY:FREQ:CHAN |
| 14402 | # BSSID has colons escaped as \: in terse mode |
| 14403 | parts = line.split(':') |
| 14404 | if len(parts) < 6: |
| 14405 | continue |
| 14406 | |
| 14407 | # Reconstruct BSSID (first 17 chars with \: → :) |
| 14408 | raw = line |
nothing calls this directly
no test coverage detected