This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

2

My bounty is for any free application which does show the amount of bandwidth per application. (I made this as a separate question but it was closed as a duplicate to this one and I was told to start a bounty here instead; so here it is).
–
AlbertNov 2 '10 at 22:07

There is the lsof terminal command. This has a size field (7th field by default). This has a plethora of switches. Can probably tell you all you need to know about data connections.

sudo lsof -i : this will give you a complete list of all open network connections. Does not appear to give you the amount of data written or read from each socket though.

When searching for well-known ports, such as 8080 which is listed as http-alt due to its mapping in /etc/services, it might be easier to use lsof -i -P to suppress conversion of port numbers to port names. Alternatively, explicitly specify the port one's looking for, like lsof -i tcp:8080. When just trying to figure out what services are actually listening, use lsof -i -P | grep LISTEN.