Nibble is a CLI tool for local network scanning that focuses on speed and ease of use.
Select a network interface, and Nibble scans your local subnet. Lists hosts, hardware manufacturer, open ports and their services.
- Lightning fast scans using lightweight threads
- Stealthy, emits no network signals before a scan is started
- Colors uses your terminal theme colors
- Skips loopback and irrelevant adapters
- Defaults to SSH, Telnet, HTTP, HTTPS, SMB, RDP, and more
- Can be set to a list of custom ports that are stored for future use
- Target mode for targeted network scans
- Reads service banners on open ports (for example, OpenSSH or nginx versions)
- Looks up hardware vendors:
- Raspberry Pi, Ubiquiti, Apple and 40,000 other vendor ids
- Headless mode with JSON output for scripting and automation
See past scans, the found hosts and re-scan all hosts ports. hotkey: r
History remembers your position between sessions, so jump right back in to your last viewed scan.
↑/↓/←/→, w/s/a/d, h/j/k/l: selection
Enter: confirm
p: select ports
r: history
t: target mode
q: cancel
Ctrl+C: quit
?: help
Full mouse support. Click to select, click again to confirm. Scroll to navigate lists.
Hold Shift and drag to select text.
Pre-built binaries for Linux, macOS and Windows (amd64/arm64) are available on the Releases page.
go (https://go.dev/):
go install github.com/backendsystems/nibble@latest
apt (Ubuntu, Mint, Pop!_OS, Zorin, Elementary, KDE Neon):
sudo add-apt-repository ppa:backendsystems/ppa
sudo apt install nibble
dnf (Fedora, RHEL, CentOS Stream):
sudo dnf copr enable @backendsystems/nibble
sudo dnf install nibbleyay -S nibble-binbrew install backendsystems/tap/nibblewinget install backendsystems.nibblepipx install nibble-clinpm install -g @backendsystems/nibbleor run without install
npx @backendsystems/nibbleRun the CLI with nibble, select a network interface.
Interface icons: 🔌Ethernet, 📶Wi-Fi, 📦Container, 🔒VPN.
Run scans without the TUI. Outputs JSON.
Headless scans are not saved in history.
-i scan target(s), comma-separated or a file (example_input)
-p custom ports (e.g. 22,80,8000-8100 or - for all)
-o write output to file instead of stdout (example_output)
nibble -i 192.168.0.0/24
nibble -i 192.168.1.223,10.0.0.12/32 -p - -o results.json
nibble -i targets.txt -p 22,80,443,8000-8100Exit codes: 0 success, 1 error, 2 invalid usage.
Built with Bubble Tea
This project is MIT licensed. See the LICENSE file for details.
Note: The "nibble" name and branding assets are excluded from this license, see the separate LICENSE for branding terms.


