Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

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 stackoverflow.com Jul 6 '11 at 10:43

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

1  
@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
add comment

5 Answers 5

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

share|improve this answer
add comment

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
add comment

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
add comment

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
add comment

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
add comment

Your Answer

 
discard

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.