The first application I found – years ago – was iftop. It does a nice job, printing the average bandwidth upwards and downwards transferred for the past 2, 10 and 40 seconds for each connections.
Recently I found out two other tools like iftop, and both of them have their intrinsic advantages:
- nethogs displays the bandwidth per process. Very nice when you want to monitor applications that doesn't provide this information in their interface. Quick note: press 'm' to switch between the display modes.
- iptraf is the most complete tool than the above mentioned ones. It is also NCurses based however fully interactive with colors and menus. The tool states itself as a "Statistics Utility", which it is, as it allows to visualize the network traffic based on a dozen possibilities.
I also found out a very complete – for nowadays – web-based application which is ntop. It can be run as a daemon and will gather all information inside databases. You can connect to http://localhost:3000 to display graphics (rrdtool based) and zillion of information. I'm giving a try to this tool with at least a per month review.