Bettercap Essentials

Bettercap is a modular network reconnaissance and security-auditing framework — a single Go binary that discovers hosts, maps a network, sniffs traffic, probes Wi-Fi and Bluetooth Low Energy, and can demonstrate man-in-the-middle conditions for testing. It's the modern successor to tools like Ettercap, used by penetration testers and network defenders to understand and harden the networks they own. This guide covers installation across platforms and the core workflow for safe, authorized network discovery.

Tool: bettercap (Go)  ·  Use: authorized network auditing  ·  Interfaces: interactive shell · caplets · web UI
⚠  Authorization is mandatory. Bettercap can intercept and manipulate other people's traffic. Running its active features against a network you don't own or lack written permission to test is illegal in most jurisdictions (wiretapping, computer-misuse, and unauthorized-access laws) and can break the network for everyone on it. Use it only on your own lab/home network or under a signed engagement scope. This guide deliberately focuses on discovery and analysis, not on attacking third parties.
01 — What's in the Box

Bettercap is organized into modules you turn on and off inside a session, and caplets — small script files that chain commands together to automate a workflow. Understanding this split is most of the learning curve.

ConceptMeaning
ModuleA capability you enable, e.g. net.probe (discover hosts), net.recon (track them), net.sniff (capture traffic)
CapletA .cap script of bettercap commands run in sequence — reusable playbooks (e.g. http-ui)
SessionThe interactive prompt where you type commands and read events
Events streamevents.stream — the live log of everything bettercap observes
Web UIAn optional browser dashboard, launched via the http-ui / https-ui caplet
Module familyCovers
IPv4 / IPv6Host and topology discovery, sniffing, spoofing on Ethernet/Wi-Fi networks
WiFiAccess-point and client discovery, channel hopping, handshake capture
BLEBluetooth Low Energy device scanning and characteristic enumeration
HID2.4 GHz wireless keyboard/mouse research
ProxiesPacket-, TCP-, and HTTP/HTTPS-level traffic inspection and manipulation
02 — Install: Package Manager & Binary

The fastest routes. On security distributions, bettercap is already packaged; elsewhere, grab the precompiled binary from GitHub releases.

Kali / Debian / Ubuntu (packaged)
sudo apt update sudo apt install -y bettercap
Precompiled binary (any Linux x86-64)
# 1. Install the runtime dependency sudo apt install -y libpcap-dev libnetfilter-queue-dev # 2. Download the latest release zip from: # https://github.com/bettercap/bettercap/releases unzip bettercap_linux_amd64_*.zip sudo mv bettercap /usr/local/bin/ sudo chmod +x /usr/local/bin/bettercap
Verify
sudo bettercap -version
ℹ  libpcap is the packet-capture library bettercap depends on; libnetfilter-queue is needed (Linux only) for some traffic-manipulation features. The packaged Kali version pulls these in automatically.
03 — Install: Docker & From Source

Prefer a container, or want the bleeding-edge build? Both are supported. The container needs host networking and elevated privileges to touch real interfaces — the same caveat as any packet tool in Docker.

Docker (official image)
docker pull bettercap/bettercap docker run -it --privileged --net=host \ bettercap/bettercap -iface eth0
From source (latest Go)
sudo apt install -y build-essential libpcap-dev libnetfilter-queue-dev golang git clone https://github.com/bettercap/bettercap cd bettercap make build sudo make install # installs to /usr/local/bin
Download / update the bundled caplets & UI
sudo bettercap -eval "caplets.update; ui.update; quit"
⚠  --privileged --net=host gives the container full access to the host's network stack. That's required for bettercap to function, but it means the container is effectively running with host-level network privileges — only do this on a machine you control.
04 — First Run & The Interactive Session

Bettercap needs root (raw sockets) and a target interface. Launch it on the interface attached to your test network; with no caplet it drops you into the interactive prompt.

Start an interactive session
sudo bettercap -iface eth0
Essential session commands
CommandDoes
helpList all modules and their on/off state
help net.probeShow detailed help & parameters for one module
activeShow currently running modules
<module> on / offStart or stop a module, e.g. net.probe on
get <param>Read a config value (e.g. get net.probe.throttle)
set <param> <val>Change a config value before turning a module on
quitExit the session cleanly (restores ARP tables, etc.)
ℹ  Always exit with quit rather than killing the process. Modules that alter network state (spoofing, proxies) clean up after themselves on a graceful exit; a hard kill can leave hosts with poisoned ARP entries until their caches expire.
05 — Network Discovery

The bread-and-butter of authorized auditing: find out what's actually on your network. net.probe sends discovery packets, net.recon keeps the host list updated, and net.show prints the table.

In the session
net.probe on # actively discover live hosts net.show # print discovered hosts: IP, MAC, vendor, last seen

Within seconds you'll see a table of every device that answered — IP, MAC address, hardware vendor (derived from the MAC), and activity. This alone is a useful inventory: spotting an unexpected device on your own LAN is a classic defensive win.

ModuleRole in discovery
net.probeActively sends probes so silent hosts reveal themselves
net.reconPassively maintains the host list from observed traffic
net.showDisplays the current known-hosts table
tickerRepeats a command on an interval — handy for a live-refreshing view
ℹ  Give a host a friendly label with set <ip> alias mylaptop so the tables are readable. Discovery (net.probe/net.recon) is passive-to-mild and is the safe place to start learning the tool on your own network.
06 — The Web UI

If the command line isn't your thing, bettercap ships a browser dashboard. It's delivered as a caplet that starts an API and serves the UI. Update the UI assets once, then launch it.

Launch the web UI
sudo bettercap -caplet http-ui

By default this serves the interface on http://127.0.0.1 with a username and password defined in the caplet. Open it in a browser on the same machine and you get point-and-click access to the host list, events, and module controls.

⚠  Change the default UI credentials before using it, and never bind the UI to a public interface. The web UI is a full remote control for a powerful network tool — treat exposing it like exposing a root shell. The http-ui caplet keeps it on localhost; review the caplet before changing that.
07 — Caplets: Automating a Workflow

Typing the same module sequence every session gets old. A caplet is a plain-text file of session commands that runs top to bottom — your reusable playbook. List the bundled ones, then write your own.

See available caplets
sudo bettercap -eval "caplets.show; quit"
A simple discovery caplet — recon.cap
# recon.cap — inventory my own LAN, refresh every 10s net.probe on set ticker.commands "clear; net.show" set ticker.period 10 ticker on
Run it
sudo bettercap -iface eth0 -caplet recon.cap
ℹ  Caplets are how bettercap goes from interactive tool to repeatable process — check one into version control alongside your other audit scripts. Lines starting with # are comments. The official caplets repo has many examples worth reading to learn the command vocabulary.
08 — Beyond Ethernet: Wi-Fi & BLE

Bettercap's wireless modules need a compatible adapter. Wi-Fi recon requires a card that supports monitor mode; BLE needs a Bluetooth Low Energy controller. These are discovery features — mapping what's broadcasting around you, which on your own devices is legitimate auditing.

CommandWhat it does
wifi.recon onDiscover nearby access points and clients (needs monitor-mode adapter)
wifi.showList discovered APs: ESSID, channel, encryption, signal
ble.recon onScan for Bluetooth Low Energy devices
ble.showList discovered BLE devices and their services
⚠  Wireless auditing has sharper legal edges than wired: deauthentication, handshake capture, and beacon injection affect devices and spectrum you may not own, even unintentionally. Confine wireless testing to your own equipment in an isolated environment, and check local radio regulations — some of these actions are offenses regardless of intent.
09 — Reference & Good Practice
ItemValue
Run asroot / sudo (raw sockets required)
Pick interface-iface eth0
Run a caplet-caplet name.cap
One-off commands-eval "cmd1; cmd2; quit"
Web UI-caplet http-ui (localhost, change creds)
Dependencieslibpcap-dev, libnetfilter-queue-dev (Linux)
Update extrascaplets.update; ui.update
Always exit withquit (clean state restore)
✓  Responsible-use checklist: test only networks you own or are contracted to assess; get authorization in writing; isolate wireless experiments; start with passive discovery before anything active; and exit cleanly so you leave no devices in a degraded state.