Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to monitor each application's network/internet usage on my Mac.

Sort of like how Activity Indicator shows total upload/download usage -- but I also want to know particular application usages.

Is this possible?

share|improve this question

migrated from Jul 6 '11 at 10:43

This question came from our site for professional and enthusiast programmers.

@koiyu What do you need that the existing answers don't provide? – Kyle Cronin Apr 1 '12 at 19:14
@KyleCronin It's not that the existing answers wouldn't work – I was merely interested if there were more alternatives. – koiyu Apr 8 '12 at 12:01

Another app I've used is RubbertNet. Also not free, but has a free trial available.

share|improve this answer

The app Little Snitch can do this. Among many other things, it shows traffic by app.

It costs $29, but there is a free trial available.

share|improve this answer

A combination of

HandsOff! and SurplusMeter

is my current solution. HandsOff is an advanced firewall which similar to LittleSnitch. It's not free, but a trial version is available. Surplusmeter on the other hand is free and open source.

Among the features which you need for monitoring network usage are:

  • monitoring network activity of every process (HandsOff!)
  • get the network usage of individual processes (HandsOff!)
  • log total network usage (SurplusMeter)

HandOff does only display the network usage since boot. It does not log the data which is why I need SurplusMeter. However, SurplusMeter only logs the total network usage for all applications.

enter image description here enter image description here

share|improve this answer
Sadly SurplusMeter has been discontinued :( – clami219 Sep 4 '15 at 15:58

You could look at WireShark. It may have a daunting interface, but once you learn it, you can track traffic by port.

You can also check out the built-in terminal utilities NetStat, TCPDump and PCap.

Using netstat -t -u will display the send and receive queue by process name.

share|improve this answer

If you are using iOS 5+ you can use the remote virtual interface

$ # First get the current list of interfaces.

$ ifconfig -l

lo0 gif0 stf0 en0 en1 p2p0 fw0 ppp0 utun0

$ # Then run the tool with the UDID of the device.

$ rvictl -s 74bd53c647548234ddcef0ee3abee616005051ed

Starting device 74bd53c647548234ddcef0ee3abee616005051ed [SUCCEEDED]

$ # Get the list of interfaces again, and you can see the new virtual

$ # network interface, rvi0, added by the previous command.

$ ifconfig -l

lo0 gif0 stf0 en0 en1 p2p0 fw0 ppp0 utun0 rvi0

You should be able to use wireshark or tcpdump, or ngrep on the problem, via the mac.

EDIT: ipfw is deprecated, but you can just turn on logging and see which packets go where. I don't know how to do that with pf :(

EDIT: I don't know why I thought this was for iOS. Apologies

share|improve this answer
Truly interesting—but won't help me monitor the network usage of an OS X app on OS X. – koiyu Apr 8 '12 at 12:04

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.