Measuring data exchange over external network

activity-monitorcommand linedata transferNetwork

I am using Mac Air 2013, and I have a daily limit on the data I can exchange over internet that is 1GB.

I would like to measure how much data each application is exchanging over the network.

I was using Activity Monitor but then I noticed that this app is showing data exchange even when the internet connection is down (in particular, if I write in terminal the command find /|grep -i something this will show large data exchange from processes such as kernel_task and mtmfs). Hence, Activity monitor is showing some data transfer over some sort of internal network, and this is now what I am interested in.

I would like to use some tool (also from command line) that only shows the data exchanged by applications over the external network (either ethernet or wifi). Could you recommend such application?

Best Answer

You can see the total number of bytes transferred per network interface using:

netstat -ib

or for an individual network interface (e.g., en1) using:

netstat -b -I en1

You can monitor the amount of data per program using:

nettop -P -t external

The "-t external" includes only external traffic.

You may be interested in the amount of traffic per web page. If you are using Safari, then select >Develop >Open Web Inspector, and select the "Network" tab. This will show which files are transferred and the total size of the web site. Unfortunately, it counts cached files in the page size, so it does not truly reflect the amount of data transferred. Firefox and Chrome have similar tools.