A flexible wifi scanner with pretty results for the text console.
The only dependencies are Lua 5.1
and one of the following backends:
iwlist(8)
- fromwireless-tools
, based on wext and pretty standardiw(8)
-nl80211
based utility, common on modern systemswpa_cli(8)
-wpa_supplicant
command-line interfacelibiwinfo
- nice abstraction library available in OpenWrt trunkairport
- standard OSX command line utility
It's intended to run as root - needed for active scanning.
Originally written on and for use with OpenWrt, but should run on any platform that features the above tools. Tested on Debian and OSX 10.6.5.
wassup.lua <options>
-i <iface> interface to use [wlan0]
-d <delay> delay between scan cycles [0]
-r <repeat> number of scan cycles [0 = forever]
-b <buffer> number of scans in a cycle [1]
-m <method> scan method [iw, iwinfo, iwlist, wpacli or airport]
-S <dir> path to wpa_supplicant sockets [/var/run/wpa_supplicant]
-p force passive scanning (affects 'iw' backend only)
-k <c1,c2,...> show columns [bssid,ch,s,essid,sig,min,avg,max,loss,enc]
-s <c1,c2,...> sort by columns [sig,essid]
-f <filter> filter by string [none]
-c <channel> show only channel <num> [none]
-l <leave> show out-of-range APs for <leave> of cycles [f = forever]
-g <c1,c2,...> highlight rows by field [enc,s]
-o obfuscate bssid and essid columns
-C <cfgfile> use settings from <cfgfile>
-h help yourself
This is the list of columns available for use with -k
, -s
and cfgfile.
Note that some might be empty depending on the setup and scan method.
auth
- authentication methodsavg
- average signal strengthbssid
- BSSIDciph
- cipherch
- channel numberenc
- encryptionessid
- ESSIDfirst_seen
- time since first seengraph
- a graph of signal changelast_seen
- time since last seenloss
- % of cycles without seeing the AP (since first seen)max
- highest signal strength recordedmin
- lowest signal strength recordednoise
- noise level in the last cycles
- change in signal from the previous cycle (+, -, or =)sig
- signal strength in the last cyclesnr
- signal-to-noise ratiotsf
- time sync counter, sometimes corresponding to uptimevendor
- manufacturer based on BSSID
Nearly all options can be configured from the command line. For frequently
used combinations, changes in formatting and more, you can create config
files which override the defaults found at the top of wassup.lua
.
Syntax is pure Lua. To use the files run wassup.lua -C <configfile>
.
Example:
keys = { "avg", "essid" }
obscure = true
method = "wpacli"
column_order = {"bssid", "ch", "graph", "essid", "snr", "sig", "min", "avg", "max", "tsf"}
columns.graph = { format = "%-45s" }
For more info see the config section at the top of
wassup.lua
.
Repository: https://github.com/koniu/wassup
Forum: https://forum.openwrt.org/viewtopic.php?pid=122861#p122861
copyleft (¿) koniu at riseup dot net