/libwifi

An 802.11 Frame Generation and Parsing Library in C

Primary LanguageCApache License 2.0Apache-2.0

libwifi

802.11 Parsing / Generation library

Build Status OS Architecture
X86_64 Linux x86_64

What is this?

libwifi is a C library with a permissive license for generating and parsing a wide variety of 802.11 wireless frames (see the Feature Checklist) on Linux with a few lines of straight forward code (see the Examples section below).

It is written with a simple-to-use approach while also exposing features that allow more advanced use, with clean and readable code being a priority. Other goals of the library include cross-architecture support, clean compilation without warnings and strict error checking.

The library is fully documented with code comments in both the headers files and the code files, and also has doxygen HTML documentation in docs/html.

Building and Installing

Linux

$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

Examples

Some examples are available in the examples/ directory, which show the general flow of how libwifi is used to generate and parse different types of 802.11 frame.

Running Tests

$ cd test/
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo iw <interface> set type monitor && sudo ip link set dev <interface> up
$ ./test-program