2014-12-31 14:24:20

by Johan Almbladh

[permalink] [raw]
Subject: wperf - a test tool for monitor mode frame injection/reception on mac80211

Hi,

I am working on improving the monitor mode frame injection/reception
functionality in mac80211. For this purpose I have written a small
test tool that can transmit and receive frames in monitor mode. It can
be used to measure throughput and packet loss for Tx and Rx, in AP or
STA mode, with or without encryption.

The source code is on GitHub, https://github.com/anyfi/wperf. There
are also statically-linked binaries for mips and x86:

$ wget https://github.com/anyfi/wperf/releases/download/v1.0.0/wperf-1.0.0-i386
$ wget https://github.com/anyfi/wperf/releases/download/v1.0.0/wperf-1.0.0-mips
$ wget https://github.com/anyfi/wperf/releases/download/v1.0.0/wperf-1.0.0-x86_64
$ file wperf-1.0.0-*
wperf-1.0.0-i386: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), statically linked, for GNU/Linux 3.7.3, not stripped
wperf-1.0.0-mips: ELF 32-bit MSB executable, MIPS, MIPS-I version 1
(SYSV), statically linked, not stripped
wperf-1.0.0-x86_64: ELF 64-bit LSB executable, x86-64, version 1
(GNU/Linux), statically linked, for GNU/Linux 2.6.24,
BuildID[sha1]=b5ac1e98b0ce1c0665f280762ef6ab05ebfff153, not stripped

$ md5sum wperf-1.0.0-*
b96b5d81518bad8094f37195e7fcae85 wperf-1.0.0-i386
300a5ad881039550b03e682d5eae981d wperf-1.0.0-mips
a0586dc3ed5c6f32630ae233640c1d57 wperf-1.0.0-x86_64

To transmit frames in monitor mode from an AP:

1) Set up an wireless network in AP mode with mac80211 and hostapd,
and create a monitor interface on the phy

2) Connect a STA to the wireless network

3) Run a wperf UDP server on the STA

wperf -s

4) Run a wperf client in monitor mode on the AP

wperf -c <STA IP> --monitor=<monitor ifname> --bssid=<AP BSSID>
--dhost=<STA MAC>


Johan