Skip to main content

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 iw and ip commands
  • 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.

Metadata

Release files for uaf 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uaf 1.0.1
File Size Uploaded Provenance Actions
uaf-1.0.1.tar.gz 44.2 kB Without provenance Details for uaf-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for uaf 1.0.1
File Interpreter ABI Platform Actions
uaf-1.0.1-py3-none-any.whl Python 3 none any Details for uaf-1.0.1-py3-none-any.whl

Total release size: 83.4 kB

Release files / uaf-1.0.1.tar.gz

Download URL uaf-1.0.1.tar.gz
Size 44.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e4b7fffc560a7c313c97ed332069ff9367e3b2c676fb88f908540173b2e13326
BLAKE2b-256 checksum
How to use checksums
ac096bb68ac2bae4f42766263d2109c40864f42f2dc2e56bb5f85a490bcbdfed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / uaf-1.0.1-py3-none-any.whl

Download URL uaf-1.0.1-py3-none-any.whl
Size 39.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a455a9eb7a5b9de765992d2326741a1a7fe242160cbb40c6343a58e6792142a3
BLAKE2b-256 checksum
How to use checksums
ef0a02e09cebd2c39c1dee6f6fbd54d8bc3fb2b654d69e44686394fec74bd6ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for uaf 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page