How can I see bandwidth usage on a Mac?

Built-in Activity Monitor (Applications → Utilities) shows you network usage. Also you can see open network ports for each running process.

screenshot


You can try nettop(1) in the Terminal. It is pre-installed, and refreshes every few seconds to provide a dashboard of all open network connections with their usage. Better than lsof since it shows the usage data too.

$ nettop

Then hit 'd' and look for odd-looking entries or entries with consistently large traffic in the 'bytes in' or 'bytes out' column. The 'd' instructs nettop to only show differences in each screen refresh.

Practical usage notes:

If you don't recognize the process name, Google it.

If you don't want the process around, get the pid (the number next to the process name in nettop), and kill it with kill -9 <pid>. If that doesn't solve it, find out if you can uninstall the process.

If you're interested in what the process is transmitting over the network, use the client port number for that particular connection (e.g. '53133' from 10.0.0.1:53133->74.125.68.100:80) to run a tcpdump(1) to see the data in the packets being exchanged: sudo tcpdump -nnvvXSs 1514 port 53133

If you're interested in the destination the process is talking to, but the destination IP address doesn't have a reverse DNS hostname (like in the previous example), then try visiting that IP address in a web browser as https://IP, click the broken lock icon in the address bar, and view the certificate details to find out which domain is served there (*.google.com in this case). This won't work if SSL port 443 isn't open on the destination.


Perhaps Little Snitch might fit your needs. It's a paid app though, so you can try it out using it's trial version.


First, most ISPs can tell you how much bandwidth you're using. It sounds like you had a technician that either didn't know much or was just trying to shoo you away.

Second, the only way to steal bandwidth is if you have a wireless network that isn't properly secured. This means you'll need to monitor bandwidth from your wireless router, not your laptop/desktop.

If you do have a wireless router, I would just change the SSID and secure it with a new (hard to guess) password. That will immediately cut-off anyone that could be leaching off your network. It's very simple to do compared to trying to monitor your bandwidth usage.


If you're looking for a way to monitor your Internet usage as a whole, including all devices connected to it, you might want to check out PeakHour (Mac Appstore).

It uses SNMP or UPnP to talk to routers and computers that can given you a real-time and historical view of bandwidth consumption and activity. This lets you monitor usage of your Internet connection as a whole, not just the computer you're on - useful if you have a few devices on your network.

Knowing your exact network activity or activity over time can be very helpful for diagnosing ISP issues. You can also monitor individual devices (if they support SNMP) which can be good for tracking down excessive usage.

peakhourapp.com

enter image description here

Heads up: I'm the developer.