How ragnt/angryoxide works
AngryOxide is a Rust 802.11 survey and active attack tool. Its principal workflow selects an interface and channels, observes Wi-Fi frames, tracks access points and stations, applies target and whitelist scope, and runs rate-controlled collection attacks to produce validated handshake or PMKID hash material. Captures are also written to pcapng and Kismet-compatible database output, with GPS support; the interface can present live status in a terminal UI or headless mode. Several feature paths are README-backed but their wiring is not shown in the excerpts, so only documented relationships are represented.
Main entry points: main.rs Runtime coordinator · attack.rs Attack engine · tx.rs Frame transmission · pcapng.rs PCAPNG writer
Components 20
Survey and control
- Runtime coordinator
src/main.rs - Target scope
src/targets.rs - Protected networks
src/whitelist.rs - GPS positioning
src/gps.rs - Geofence
src/geofence.rs
Attack workflow
- Attack engine
src/attack.rs - Handshake validation
src/auth.rs - Frame transmission
src/tx.rs - Raw socket access
src/rawsocks.rs
Network state
- AP and station state
src/devices.rs
Capture and output
- PCAPNG writer
src/pcapng.rs - Kismet database writer
src/database.rs
Operator interface
- Status log
src/status.rs - Terminal UI
src/ui.rs - Headless output
src/main.rs
Other components
- Operator
- Wi-Fi interface
- Capture files
- Kismet database file
- GPSD service
Connections 20
- Operator → Runtime coordinator: configures
- Wi-Fi interface → Runtime coordinator: provides frames
- Runtime coordinator → Target scope: applies scope
- Runtime coordinator → Protected networks: excludes networks
- Runtime coordinator → AP and station state: updates state
- Runtime coordinator → Attack engine: dispatches attacks
- Attack engine → Frame transmission: requests transmission
- Frame transmission → Raw socket access: uses sockets
- Runtime coordinator → Handshake validation: validates handshakes
- Runtime coordinator → GPS positioning: obtains position
- GPSD service → GPS positioning: supplies fixes
- Runtime coordinator → Geofence: checks location
- Runtime coordinator → PCAPNG writer: sends frames
- Runtime coordinator → Kismet database writer: sends frames
- PCAPNG writer → Capture files: writes capture
- Kismet database writer → Kismet database file: writes records
- Runtime coordinator → Status log: records status
- Status log → Terminal UI: renders status
- Operator → Terminal UI: interacts
- Runtime coordinator → Headless output: prints status