Live bandwidth, whole Mac
Prints bytes in and out every second for en0 (usually Wi-Fi). Press Ctrl-C to stop. Not sure which interface you're on? Run route get default | grep interface.
netstat -w 1 -I en0Live traffic per app
The first is an interactive view: -P groups by process and -d shows the change since the last refresh, so the busiest app rises to the top. The second prints one snapshot as CSV, handy for scripts.
nettop -P -dnettop -P -L 1 -J bytes_in,bytes_outWhich servers apps talk to
lsof lists open connections with the app, local port and remote address. nettop -m tcp shows each TCP connection with its own byte counts.
lsof -i -n -P | grep ESTABLISHEDnettop -m tcpTotals since startup
Ibytes and Obytes are totals since the Mac started. They reset at every restart, which is why you can't use them to track a monthly plan.
netstat -ib | grep -E 'Name|en0'Want these numbers kept day by day, by app and by network, without leaving Terminal open? That's what Drippy does from the menu bar.
Questions
What is nettop on Mac?
A built-in macOS command that shows network usage per process and per connection, live or as a one-off snapshot.
How do I see bandwidth per second on Mac?
Run netstat -w 1 -I en0 in Terminal, or use a menu bar monitor such as Drippy.
Do these commands need sudo?
No. nettop, netstat and lsof show your own processes without it; lsof needs sudo to see other users' connections.