Free & open source · v0.2.0 · macOS (Windows & Linux coming soon)

Monitor your network usage in real time.

netmon is a lightweight cross-platform network usage monitor. Available on macOS now, with Windows and Linux support coming soon. Track bandwidth by application, interface, and time period — all from a beautiful, fast CLI.

Real-time
Every second
Granular
Apps & interfaces
Efficient
Go + SQLite
netmon
~ % netmon stats live
Application usage · last 5 seconds
 NAME          PID   DOWNLOAD       UPLOAD       CONNECTIONS 
 Google Chrome 921   3.24 MB/s    420 KB/s    34
 Slack          712   1.08 MB/s    96 KB/s     12
 Xcode          1182  680 KB/s     54 KB/s     7
 Spotify        543   412 KB/s     12 KB/s     5
 background     system 128 KB/s     32 KB/s     9
Today since 08:42
Download 24.3 GB
Upload 3.1 GB
Interfaces last minute
en0 91%
utun2 7%
lo0 2%
Collecting stats every second in background service.

Quick start in three commands.

Install, set up, and start tracking your traffic in under a minute.

1

Install netmon

Homebrew

Use the recommended Homebrew tap for automatic updates.

brew tap abcdofficialzw/netmon
brew install netmon
2

Run setup wizard

Configure what to track and how aggressively to sample your traffic.

netmon setup
3

Start monitoring

View live application usage, interface breakdowns, and time-based summaries.

netmon stats
netmon stats today
netmon ifaces

Complete visibility into your network usage.

A focused tool for developers and power users who live in the terminal.

No kernel extensions Low overhead Local-only data

Real-time monitoring

Samples network usage every second with negligible CPU impact, streaming stats directly in your terminal.

  • Live updating views without flicker.
  • Smooth rate calculations and smoothing.

Per-application tracking

See exactly which apps — Chrome, Slack, Docker, and more — are consuming your bandwidth.

  • Group by process, bundle, or command.
  • Filter and sort in real time.

Interface-level stats

Break down traffic by network interface: Wi‑Fi, Ethernet, VPN tunnels, loopback, and more.

  • Quickly identify which path is saturated.
  • Works with VPNs and virtual adapters.

Time-based views

Instantly inspect usage for today, this week, this month, or your all‑time history.

  • Summaries backed by SQLite.
  • Queryable data for custom reports.

Background service

A launchd job keeps netmon running in the background so you never miss a packet, even across reboots.

  • Designed for always‑on laptops.
  • Zero configuration after setup.

SQLite storage

Efficient on‑disk storage powered by SQLite so you can query and analyze your historical traffic.

  • Export or integrate with other tools.
  • Tuned for low disk usage.

Familiar CLI, powerful network insights.

A few example commands and their output formats.

Works in any terminal emulator
Application stats (default) netmon stats
 ~ % netmon stats

 NAME                   DOWNLOADED     UPLOADED      TOTAL     
 Google Chrome          9.8 GB         1.2 GB       11 GB
 Slack                  1.9 GB         210 MB      2.1 GB
 Xcode                  832 MB         74 MB       906 MB
 Docker Desktop         432 MB         138 MB      570 MB
 ...
Time-based Stats netmon stats today | week | month
 ~ % netmon stats today

 PERIOD   DOWNLOAD       UPLOAD         CONNECTIONS
 Today    24.3 GB        3.1 GB         2,184

 ~ % netmon stats week

 PERIOD   DOWNLOAD       UPLOAD         CONNECTIONS
 This week 142.7 GB       17.3 GB       12,831
Interface Stats netmon stats interfaces
 ~ % netmon stats interfaces

 NAME   TYPE       RX TODAY   TX TODAY   RX TOTAL    TX TOTAL    
 en0    wifi       22.1 GB    2.7 GB    931 GB    112 GB
 en7    ethernet   1.4 GB     276 MB   41 GB     6.2 GB
 utun2  vpn        639 MB     112 MB   9.2 GB    2.8 GB
 lo0    loopback   128 MB     96 MB    4.3 GB    3.1 GB

Install netmon.

Select your operating system to see installation instructions.

macOS available now · Windows & Linux coming soon
Recommended

Install via Homebrew

The easiest way to get automatic updates and integrate netmon into your existing CLI workflow.

  1. 1 Tap the netmon Homebrew repository.
  2. 2 Install the CLI binary.
  3. 3 Run the setup wizard to configure the background service.
brew tap abcdofficialzw/netmon
brew install netmon
netmon setup

netmon will register a launchd service to keep tracking network usage even when you log out or reboot.

Manual build (for developers)

Prefer to build from source or hack on netmon? Clone the repo and run it directly.

  1. 1 Clone the Git repository.
  2. 2 Build the binary using Go.
  3. 3 Run the setup wizard or your own configuration.
git clone https://github.com/abcdOfficialzw/netmon.git
cd netmon
go build ./cmd/netmon
./netmon setup

You'll need a recent version of Go and SQLite installed locally.

Usage examples.

A handful of commands you'll use every day.

Run netmon --help for full docs

Common commands

netmon stats

Get a snapshot of today's download and upload totals across all interfaces.

netmon stats today

Get a snapshot of today's download and upload totals.

netmon stats interfaces

Get a snapshot of today's download and upload totals per interface.

netmon config

Tweak retention policies, sampling intervals, and display preferences.

Sample session

 ~ % netmon setup
? Store data in ~/Library/Application Support/netmon? (Y/n) y
? Enable background service (launchd)? (Y/n) y
? Default retention window (30d): 
 Background service installed and started.
 SQLite database initialized.

 ~ % netmon apps --live
[Press q to quit, ←/→ to change time window, f to filter]

Why netmon?

Cross-platform network monitoring, focused on the CLI, and friendly to power users. macOS available now, Windows and Linux coming soon.

Designed to complement system tools, not replace them

Compared to other solutions

Feature
netmon
Generic GUI tools
CLI‑first UX
Yes
Often limited
Per‑app + interface
Built‑in
Sometimes
Time‑based history
SQLite backed
Often ephemeral
Resource usage
Very low
Varies
Automation‑friendly
JSON / scripts
Limited
License & cost
MIT · Free
Often paid

Technical details

Implementation

Written in Go with a small, focused codebase that's easy to inspect and extend.

Storage

Uses SQLite for efficient, queryable storage of historical traffic data.

Performance

Designed to be lightweight and efficient with minimal CPU and memory overhead.

License

Open source under the MIT license. Free for personal and commercial use.

Local‑only monitoring No data leaves your device
Coming Soon

Exciting features on the horizon.

We're working on powerful new capabilities to make netmon even more useful.

In active development

Network Alerts

Receive notifications when you surpass preset usage thresholds. Stay informed about your bandwidth consumption in real time.

Daily Usage Reports

Get comprehensive daily summaries of your network activity. Perfect for tracking trends and identifying usage patterns.

Export Usage Data

Export your usage statistics to TXT files for analysis, reporting, or integration with other tools and workflows.

Usage Dashboard

Visualize your network usage with an interactive dashboard. Charts, graphs, and insights at your fingertips.

Start monitoring your network usage today.

Free, open source, and built for the terminal. Get per‑application visibility, interface breakdowns, and time‑based history in a few commands. Available on macOS now, Windows and Linux coming soon.

MIT licensed Built with Go Backed by SQLite Cross-platform