Skip to main content
Version: Next

Channel Hopping

The 802.11 standard defines many frequencies (channels) a network can operate on. This is useful to avoid contention and bandwidth issues, but also means that your wireless adapter has to be tuned to a single channel and cannot capture all wireless traffic at once. During normal operations, your operating system will do this automatically for you.

Because we don’t want to listen on only one, but possibly all WiFi channels, we either need dozens of adapters, with one adapter for each channel, or we cycle over multiple channels on a single adapter rapidly. Nzyme allows you to configure multiple channels per WiFi adapter.

For example, if you configure nzyme to listen on channel 1,2,3,4,5,6 on wlan0 and 7,8,9,10,11 on wlan1, it will tune wlan0 to channel 1 for a configurable time (default is 1 second) and then switch to channel 2, then to channel 3 and so on. By doing this, we might miss a bunch of wireless frames but are not missing out on some channels completely.

The best configuration depends on your use-case but usually you will want to tune to all 2.4 Ghz and 5 Ghz WiFi channels, spread over multiple WiFi apdaters.

On Linux, you can get a list of channels your WiFi adapter supports like this:

$ iwlist wlan0 channelwlan0     32 channels in total; available frequencies :          Channel 01 : 2.412 GHz          Channel 02 : 2.417 GHz          Channel 03 : 2.422 GHz          Channel 04 : 2.427 GHz          Channel 05 : 2.432 GHz          Channel 06 : 2.437 GHz          Channel 07 : 2.442 GHz          Channel 08 : 2.447 GHz          Channel 09 : 2.452 GHz          Channel 10 : 2.457 GHz          Channel 11 : 2.462 GHz          Channel 12 : 2.467 GHz          Channel 13 : 2.472 GHz          Channel 14 : 2.484 GHz          Channel 36 : 5.18 GHz          Channel 38 : 5.19 GHz          Channel 40 : 5.2 GHz          Channel 44 : 5.22 GHz          Channel 46 : 5.23 GHz          Channel 48 : 5.24 GHz          Channel 52 : 5.26 GHz          Channel 54 : 5.27 GHz          Channel 56 : 5.28 GHz          Channel 60 : 5.3 GHz          Channel 62 : 5.31 GHz          Channel 64 : 5.32 GHz          Channel 100 : 5.5 GHz          Channel 102 : 5.51 GHz          Channel 104 : 5.52 GHz          Channel 108 : 5.54 GHz          Channel 110 : 5.55 GHz          Channel 112 : 5.56 GHz          Current Frequency:2.432 GHz (Channel 5)

Those available channels can be referenced in the nzyme configuration like this. See also Network Monitoring.