WiFi Coconut
Search…
Installing on macOS

Installing Homebrew for macOS

The simplest way to install the WiFi Coconut tools for macOS is to install the Homebrew package manager.
The Homebrew package manager is available at https://brew.sh/
If you are not already using Homebrew, follow the install directions on the Homebrew site.
If prompted to install the Xcode Command Line tools, do so. They will be required!

Install the WiFi Coconut tools

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.

Example installation

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 ~ %

Running

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.

Integrating with other tools

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 -

Compiling from source

You can, of course, compile the WiFi Coconut tools manually.

Install dependencies

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.

Check out the code

git checkout https://github.com/hak5/hak5-wifi-coconut

Configure

cd hak5-wifi-coconut
mkdir build
cd build
cmake ../
cmake will confirm that the required dependencies are available.

Compile

make

Install

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/.
Copy link
On this page
Installing Homebrew for macOS
Install the WiFi Coconut tools
Running
Integrating with other tools
Compiling from source
Install dependencies
Check out the code
Configure
Compile
Install