Easily diagnose
your Internet
connectivity

Latency, bandwidth, network config in a terminal app with a built-in dashboard and analysis to help diagnose the data.

Install

homebrew · macOS

$brew tap securitypedant/octomon
$brew install octomon

apt · Debian & Ubuntu

$curl -fsSL https://octomon.dev/apt/octomon.gpg | sudo tee /usr/share/keyrings/octomon.gpg >/dev/null
$echo "deb [signed-by=/usr/share/keyrings/octomon.gpg] https://octomon.dev/apt stable main" | sudo tee /etc/apt/sources.list.d/octomon.list
$sudo apt update && sudo apt install octomon

amd64 and arm64. Signed; the first line installs the key.

powershell · Windows

>irm https://github.com/securitypedant/octomon/releases/latest/download/octomon-installer.ps1 | iex

x64 and ARM64, installer picks the right binary. Zips are on GitHub releases.

cargo · anywhere

$cargo install octomon

Builds from source; needs Rust 1.88+.

Four panels, one analysis

Detailed information on each aspect of your Internet connection, with a single, easy to understand summary. ▲ gateway unresponsive or ● connection healthy. Full analysis explanation y: showing each network subsystem from your machine to the Internet.

the full octomon dashboard: connection quality, bandwidth, network and machine panels

Connection Quality

ICMP latency to your targets, last / avg / p95 / max, jitter, loss, a bufferbloat grade. The gateway and first ISP hops are auto-discovered. Traceroute any target with t, monitor every hop MTR-style with m, and a whois lookup for an address with W.

the Connection Quality panel: per-target latency table and per-hop path view

Bandwidth

Live throughput and an on-demand speed test (s, Cloudflare / M-Lab / LibreSpeed), with the traffic attributed: top talkers by process or by remote address (n), session totals, retransmits.

the Bandwidth panel: throughput graphs and per-process talkers

Network

How you're attached: interface, Wi-Fi / Ethernet / VPN, addresses, gateway, DHCP server, public IP, and every resolver timed. Checks against a public reference, Wi-Fi signal and airspace congestion graphed, and a dated history of every join, roam and address change.

the Network panel: interface details, DNS timings and Wi-Fi signal

Machine

"Is my device the bottleneck?" CPU with the busiest core, memory pressure, load, interface errors, thermal throttling. A busy machine is reported as a caveat beside a network fault, never as a way to hide one.

the Machine panel: CPU, memory pressure and load

…and the analysis on top of the data

Press y and octomon shows its work: the triage ladder from your machine outward, the background checks (captive portal, clock, path MTU, NAT, DNS honesty), this network's learned normal and incident history, and the findings with their evidence. D zips it all into a support bundle; --doctor prints a redacted report safe to paste into an ISP ticket.

the analysis overlay: triage ladder, checks, history and findings with evidence

Watch the tour

It's not DNS.
There's no way it's DNS.
It was DNS.

— a haiku, traditional among people who run the internet
(author unknown, like most root causes)

octomon times every resolver you use, checks their honesty against a public reference, and names local DNS outages — so when it is DNS, you'll know in one line.