wavemon is an ncurses-based monitoring application for wireless network devices
C Shell Groff Other
Latest commit affa6d8 Oct 22, 2016 @grrtrr grrtrr Info screen: stop displaying WPA capabilities
This drops support for displaying (wext) WPA capabilities for the
current interface. The information can be confusing, since WPA
and WPA2 are protocols and not really interface attributes.
Failed to load latest commit information.
config Bring auxiliary scripts up to date Mar 31, 2009
AUTHORS Finalise Release 0.6 Apr 1, 2009
COPYING Bring auxiliary scripts up to date Mar 31, 2009
ChangeLog update link Jan 1, 2016
INSTALL Finalise Release 0.6 Apr 1, 2009
Makefile.in build: update install command Aug 9, 2015
NEWS New release 0.7.6 Jan 18, 2014
README.md resolves #22 (thanks to @bmegli) Oct 8, 2016
THANKS New release 0.7.6 Jan 18, 2014
about_scr.c Remove reference to WEXT Jan 1, 2016
aclocal.m4 Build: add check for libnl3 Jul 13, 2015
conf.c resolves #23 Oct 22, 2016
conf_scr.c Check available wireless interfaces first, before all other initializ… Dec 4, 2015
configure New Release 0.8.0 Jan 2, 2016
configure.ac New Release 0.8.0 Jan 2, 2016
error.c Better termination Feb 27, 2011
help_scr.c Reorganize screen handling Jan 30, 2011
ieee80211.h Scan screen: decode typical station mode usage Dec 27, 2015
info_scr.c Info screen: stop displaying WPA capabilities Oct 22, 2016
iw_if.c remove old/dead code Oct 22, 2016
iw_if.h Info screen: stop displaying WPA capabilities Oct 22, 2016
iw_nl80211.c Scan screen: use global wait socket Jan 1, 2016
iw_nl80211.h Scan screen: add error handling Dec 26, 2015
iw_scan.c Removed unused range field Jan 1, 2016
lhist_scr.c Info/history screen: consolidate sampling Oct 22, 2016
llist.c Remove useless allocation (found with valgrind). Jan 13, 2014
llist.h Remove unused function Jun 5, 2012
nl80211.h Proof-of-concept integration with nl80211 Jul 13, 2015
scan_scr.c Scan screen: drop 'TSF' Jan 2, 2016
ui.c Fix compiler error Nov 7, 2015
utils.c Scan screen: clean up fields that were not decoded yet Jan 1, 2016
wavemon.1 resolves #23 Oct 22, 2016
wavemon.c Style: fix problems found by cppcheck Jan 9, 2014
wavemon.h Remove (now) obsolete timer infrastructure. Oct 22, 2016
wavemonrc.5 Update manpages Jan 1, 2016


wavemon screenshot


wavemon is a wireless device monitoring application that allows you to watch signal and noise levels, packet statistics, device configuration and network parameters of your wireless network hardware. It should work (though with varying features) with all devices supported by the Linux kernel.

See the man page for an in-depth description of operation and configuration.

Where to obtain

Apart from debian/ubuntu packages (apt-cache search wavemon) and slackbuild scripts for wavemon, this repository contains the full source code.

Please check this page for updates and for further information.

wavemon is distributed under the GPLv3, refer to the file COPYING.


wavemon requires a Linux Kernel with wireless extensions enabled. If your Kernel setup uses CONFIG_CFG80211, make sure that the config option CONFIG_CFG80211_WEXT is set.

In addition, minimally the following are required:

  • Netlink libnl at least version 3.2,
  • including the Generic Netlink support (libnl-genl),
  • ncurses development files (libncurses5-dev),
  • the pkg-config package.

On Debian/Ubuntu, this can be done using

    apt-get -y install pkg-config libncurses5-dev libnl-3-dev libnl-genl-3-dev

How to build

wavemon uses autoconf, so that in most cases you can simply run

    sudo make install

to build and install the package. Type 'make uninstall' if not happy. Refer to the file INSTALL for generic installation instructions.

To grant users access to restricted networking operations (scan operations), use additionally

    sudo make install-suid-root

If you have changed some of the autoconf files or use a git version, run


(This requires a recent installation of autotools.)


Send bug reports, comments, and suggestions by opening an issue on github.