Installing on macOS
The simplest way to install the WiFi Coconut tools for macOS is to install the Homebrew package manager.
If prompted to install the Xcode Command Line tools, do so. They will be required!
Once Brew and the Xcode command line tools are installed, installing the WiFi Coconut tools for macOS is as simple as:
brew tap hak5/wifi-coconut
brew install wifi-coconut
This will download and install the WiFi Coconut tools, compile them automatically, and install them.
If prompted to install other tools such as the xcode command-line tools, do so.
hak5 ~ % brew install wifi-coconut
==> Downloading https://ghcr.io/v2/homebrew/core/pkg-config/manifests/0.29.2_3
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/pkg-config/blobs/sha256:2af9bce
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sh
######################################################################## 100.0%
==> Downloading https://github.com/hak5/hak5-wifi-coconut/archive/refs/tags/v1.0
Already downloaded: /Users/hak5/Library/Caches/Homebrew/downloads/401dc2d1ee3da1d0831be9a6783966a7b6eb3944daf8db1c660a36aed086ea5c--hak5-wifi-coconut-1.0.0.tar.gz
==> Installing wifi-coconut from hak5/wifi-coconut
==> Installing dependencies for hak5/wifi-coconut/wifi-coconut: pkg-config
==> Installing hak5/wifi-coconut/wifi-coconut dependency: pkg-config
==> Pouring pkg-config--0.29.2_3.arm64_monterey.bottle.tar.gz
🍺 /opt/homebrew/Cellar/pkg-config/0.29.2_3: 11 files, 676.4KB
==> Installing hak5/wifi-coconut/wifi-coconut
==> echo $(pwd)
==> cmake -S ../
==> make
==> make install
🍺 /opt/homebrew/Cellar/wifi-coconut/1.0.0: 9 files, 349.0KB, built in 4 seconds
==> Running `brew cleanup wifi-coconut`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
hak5 ~ %
The
wifi_coconut
tool is the main interface for the WiFi Coconut, run it from a terminal with:wifi_coconut

WiFi Coconut on macOS
Additionally, the
wifi_coconut
tool takes several options to automate behavior:Usage: wifi_coconut [options]
By default, the wifi_coconut tool opens in interactive mode.
Universal options:
--disable-leds Go fully dark; don't enable any LEDs
--invert-leds Normally a Wi-Fi Coconut enables all the LEDs
and blinks during traffic; Invert only lights
when there is traffic.
--disable-blinking Disable blinking the LEDs on traffic
Non-interactive modes:
--no-display Don't display channel UI while logging
--wait Wait for a coconut to be found
--pcap=[fname] Log packets to a pcap file. If file is '-',
a pcap file will be echoed to stdout so that it can
be piped to other tools. --wait-for-coconut Wait for a coconut to be connected and identified
--list-coconuts List Wi-Fi Coconut devices and exit
--coconut-device=X If you have multiple Wi-Fi Coconuts, specify
which one to use
--enable-partial Enable a Wi-Fi Coconut even if not all the
radios have been identified.
--plain-dot11 Log plain 802.11 packets instead of radiotap
formatted packets with signal and channel
--quiet Disable most output
Warning - if you are using an older macOS (Catalina or Big Sur), there is a known bug in the macOS kernel for handling USB. You will need to exit all other applications that may interact with the USB system, including browsers such as Chrome.
This has been fixed in more recent macOS releases and is no longer a problem with Monterrey and newer! It is also not a problem on macOS versions earlier than Catalina.
Output from the
wifi_coconut
tool can be directly piped to other tools like tcpdump
or tshark
:sudo wifi_coconut --no-display --pcap=- | tcpdump -r -
or
sudo wifi_coconut --no-display --pcap=- | tshark -r -
You can, of course, compile the WiFi Coconut tools manually.
To compile from source on macOS you will need:
- The Xcode command line tools from Apple
- The CMake build system
- Git
- LibUSB 1.0.0
In the Homebrew package manager, these can be installed by installing Homebrew, then installing dependencies:
brew install cmake
brew install libusb
For other package managers, you will need to install the equivalent packages.
git checkout https://github.com/hak5/hak5-wifi-coconut
cd hak5-wifi-coconut
mkdir build
cd build
cmake ../
cmake
will confirm that the required dependencies are available. make
make install
This will install the wifi-coconut tool to the default path (
/usr/local/bin
by default), and the rt2800usb firmware to /usr/local/share/
.