Metadata-Version: 2.4
Name: airohunt-ng
Version: 1.0.5
Summary: 802.11 monitor-mode Wi-Fi signal tracker with terminal UI
License: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/bag-man/airohunt-ng
Project-URL: Repository, https://github.com/bag-man/airohunt-ng
Project-URL: Bug Tracker, https://github.com/bag-man/airohunt-ng/issues
Keywords: wifi,wireless,802.11,monitor-mode,security,networking,signal,strength,direction
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console :: Curses
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Networking :: Monitoring
Classifier: Topic :: Security
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# airohunt-ng

> [!CAUTION]
> This software was almost entirely written by Claude.ai Sonnet 4.6

A terminal-based 802.11 Wi-Fi signal tracker for Linux that runs in monitor mode.

Displays access points, connected clients, and probe requests in a live three-pane
interface, and lets you select any device to track its signal strength over time on
a real-time graph.

![Scanner](screenshots/interface1.png)
![Tracker](screenshots/interface2.png)

## Requirements
- monitor mode capable wireless interface
- tcpdump
- iw
- Python 3.8+

## Installation

### pip (recommended)

```bash
pip install airohunt-ng
```

### Arch Linux (AUR)

```bash
yay -S airohunt-ng
```

### From source

```bash
git clone https://github.com/bag-man/airohunt-ng
cd airohunt-ng
pip install .
```

## Usage

First put your wireless interface into monitor mode:

```bash
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
```

Then run:

```bash
sudo airohunt-ng wlan0
```

### Options

```
positional arguments:
  interface          Monitor-mode interface (e.g. wlan0)

options:
  --band {2.4,5,both}  Band to scan: 2.4 GHz (default), 5 GHz, or both
  -c CH, --channel CH  Lock to a single channel instead of hopping
  --bssid MAC          Go straight to the signal graph for this BSSID (requires -c)
  -A                   Show Access Points pane only
  -C                   Show Connected Clients pane only
  -P                   Show Probes pane only
```

Pane flags may be combined: `-AC` shows Access Points and Connected Clients.

### Key bindings

| Key | Action |
|-----|--------|
| `h` / `l` or `←` / `→` | Switch active pane |
| `j` / `k` or `↑` / `↓` | Scroll within pane |
| `Enter` | Open signal graph for selected device |
| `Space` | Pause / resume scanning |
| `r` | Clear all results |
| `q` | Quit |

**Inside the signal graph:**

| Key | Action |
|-----|--------|
| `Space` | Pause / resume |
| `r` | Reset graph history |
| `Esc` | Back to scanner |
| `q` | Quit |

## Encryption detection

Encryption is determined by parsing the raw beacon frame bytes (RSN and WPA IEs),
not just the verbose tcpdump output. The ENC column shows one of:

| Value | Meaning |
|-------|---------|
| `OPN` | Open network |
| `WEP` | WEP (Privacy bit set, no WPA/RSN IE) |
| `WPA` | WPA1 (vendor IE `00:50:f2:01`) |
| `WPA2-PSK` | WPA2 Personal (RSN IE, AKM type 2) |
| `WPA2-EAP` | WPA2 Enterprise (RSN IE, AKM type 1) |
| `WPA3-SAE` | WPA3 Personal (RSN IE, AKM type 8) |
| `WPA3-OWE` | WPA3 Enhanced Open (RSN IE, AKM type 18) |
| `WPA2/3` | Transition mode (both PSK and SAE advertised) |

## License

GNU General Public License v3.0 or later — see [LICENSE](LICENSE).
