Real-time wireless AP scanner with active reconnaissance for Linux
Project description
AP Scanner
Real-time wireless access point scanner with active reconnaissance for Linux.
Features
Passive Scanning
- Real-time AP discovery with terminal display
- Automatic channel hopping (2.4GHz / 5GHz / 6GHz)
- Security detection: WEP, WPA, WPA2, WPA3
- WiFi standard detection: 802.11 a/b/g/n/ac/ax
- Channel width detection (20/40/80/160 MHz)
- Hidden SSID detection and resolution
- MAC vendor lookup
- Band filtering and sort modes
Active Scanning (New!)
- Interactive AP selection with arrow keys
- Connect to open (OPN) networks for reconnaissance
- DHCP lease acquisition and network info extraction
- ARP scan to discover connected clients
- Gateway port scanning (22, 53, 80, 443, 8080, 8443)
- Client device enumeration with MAC vendor lookup
- Results displayed in overlay panel
Export & Configuration
- CSV / JSON export with active scan results
- Configuration file support
Requirements
- Python 3.10+
- Linux with
iwandipcommands - Root privileges
- WiFi adapter that supports monitor mode
Installation
From PyPI (recommended)
# Using pipx (isolated environment)
pipx install uaf
# Or using pip
pip install uaf
From source
git clone https://github.com/devastator-x/uaf.git
cd uaf
pip install -e .
Ubuntu/Debian (.deb package)
# Download from releases
wget https://github.com/devastator-x/uaf/releases/download/v1.0.0/uaf_1.0.0_all.deb
sudo dpkg -i uaf_1.0.0_all.deb
sudo apt-get install -f # Install dependencies
Usage
# Basic scan (auto-detect interface)
sudo uaf
# Specify interface
sudo uaf -i wlan0
# Scan specific channels
sudo uaf -c 1,6,11
# Band filter
sudo uaf -b 2.4
# Sort by channel
sudo uaf --sort channel
# Save to specific file
sudo uaf -w output.csv
# Use config file
sudo uaf --config /path/to/config.ini
Keybindings
Normal Mode
| Key | Action |
|---|---|
q |
Quit |
w |
Write CSV |
j |
Write JSON |
b |
Cycle band filter (All / 2.4GHz / 5GHz / 6GHz) |
s |
Cycle sort mode (RSSI / Channel / ESSID / ENC) |
Enter |
Enter AP selection mode |
Selection Mode
| Key | Action |
|---|---|
↑ / ↓ |
Navigate through AP list |
Enter |
Run active scan on selected open AP |
Esc |
Exit selection mode |
Configuration
Default config path: ~/.config/ap-scanner/config.ini
[scanner]
interface = wlan0
band = all
sort = rssi
no_color = false
verbose = false
Development
pip install -e ".[dev]"
pytest tests/ -v
License
GPL-2.0-or-later. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
uaf-1.0.1.tar.gz
(44.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
uaf-1.0.1-py3-none-any.whl
(39.2 kB
view details)
File details
Details for the file uaf-1.0.1.tar.gz.
File metadata
- Download URL: uaf-1.0.1.tar.gz
- Upload date:
- Size: 44.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4b7fffc560a7c313c97ed332069ff9367e3b2c676fb88f908540173b2e13326
|
|
| MD5 |
2d84794008457b2573495612eef10249
|
|
| BLAKE2b-256 |
ac096bb68ac2bae4f42766263d2109c40864f42f2dc2e56bb5f85a490bcbdfed
|
File details
Details for the file uaf-1.0.1-py3-none-any.whl.
File metadata
- Download URL: uaf-1.0.1-py3-none-any.whl
- Upload date:
- Size: 39.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a455a9eb7a5b9de765992d2326741a1a7fe242160cbb40c6343a58e6792142a3
|
|
| MD5 |
b39e2b353e05ccbf7b292695c079d9fa
|
|
| BLAKE2b-256 |
ef0a02e09cebd2c39c1dee6f6fbd54d8bc3fb2b654d69e44686394fec74bd6ae
|