airolib-ng
Create and manage wireless password databases
SYNOPSIS
airolib-ng [options] database
PARAMETERS
--help
Show help summary
--batch
Precompute all PMK pairs for imported ESSIDs/PSKs
--batch-size value
Set number of PMKs to compute per batch (default 100000)
--test-key key
Test a single key against database
--import TYPE file
Import data: TYPE=essid|psk|pmk|pmk_id
--import-sqlite file
Import from another airolib-ng SQLite DB
--export-sqlite file
Export to another airolib-ng SQLite DB
--stats
Display database statistics
--info
Show database info
--delete-essid essid
Delete specific ESSID and PMKs
--purge
Purge all data from database
--sql command
Execute custom SQL query
DESCRIPTION
airolib-ng is a tool from the aircrack-ng suite designed to create and manage rainbow tables for accelerating WPA/WPA2-PSK password cracking. It precomputes Pairwise Master Keys (PMKs) from ESSIDs and passphrases, storing them in a SQLite database for quick lookups during cracking with tools like aircrack-ng.
The workflow typically starts by importing ESSIDs captured from WiFi networks into the database. Users then import precomputed PSKs or generate them. The --batch mode computes all possible PMK pairs between ESSIDs and PSKs, enabling rapid dictionary attacks offline. This significantly speeds up cracking compared to real-time computation, as PMK derivation is CPU-intensive.
It's invaluable for wireless security auditing, penetration testing, and research, but requires legitimate captured handshakes (e.g., via airodump-ng). The database grows large, demanding substantial disk space and RAM for batch operations. Supports SQL imports/exports for flexibility.
Key benefits include offline processing, reducing live attack time, and support for multiple ESSIDs/PSKs simultaneously. However, it's ineffective against strong, unique passwords not in imported lists.
CAVEATS
Requires significant disk space (GBs for large tables); ineffective without matching captured handshakes; use only for authorized security testing to avoid legal issues.
Database must be SQLite-compatible; batch mode is memory-intensive.
USAGE EXAMPLE
airolib-ng db --import essid essids.txt
airolib-ng db --import psk wordlist.txt
airolib-ng db --batch
Then: aircrack-ng -w db capture.cap
DATABASE FORMAT
Uses SQLite3 with tables for essids, psks, pmks. Schema optimized for fast index lookups during cracking.
HISTORY
Developed as part of aircrack-ng suite (forked from original aircrack in 2005). airolib-ng introduced around 2008 to optimize WPA cracking via rainbow tables. Actively maintained; latest versions support improved batching and SQL features for modern WiFi auditing.
SEE ALSO
aircrack-ng(1), airodump-ng(1), aireplay-ng(1), sqlite3(1)


