AngryAstronaut / libwifi

An 802.11 Frame Generation and Parsing Library in C

Home Page:https://libwifi.so

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Building and Installing

Building as Release

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

Building as Debug

You can also specify -DCMAKE_BUILD_TYPE=Debug to CMake, to generate a library with debug symbols present. This also sets the library version number to dev-BRANCHNAME-COMMITHASH.

$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
$ make
$ sudo make install
$ ./test_misc
libwifi version: dev-fixup-7909700

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

Using ctest, you can run the tests for the parse and generation functions of libwifi.

$ cd test/
$ mkdir build
$ cd build
$ cmake ..
$ make && make test

Using Utilities

Included in the source are some utilities that use libwifi, and serve as references or examples if you need them.

$ cd utils/
$ mkdir build
$ cd build
$ cmake ..
$ make

About

An 802.11 Frame Generation and Parsing Library in C

https://libwifi.so

License:Apache License 2.0


Languages

Language:C 98.4%Language:CMake 1.5%Language:Shell 0.1%Language:Makefile 0.0%