What can I use to monitor and log incoming/outgoing traffic to/from remote hosts?

view story

http://unix.stackexchange.com – I run a web server (Debian Squeeze on a VPS), and the graphs provided by the hosting company show consistently that around twice as much traffic is incoming to the server compared to the outgoing traffic. I am a little confused by this, so I would like to run some kind of logging utility on the machine that will not only confirm the upload/download figures, but also split them up by the remote host involved, so I can see if a large proportion of the incoming traffic is from one particular source. I suspect most of the outgoing traffic goes through Apache, but the incoming traffic may be most (HowTos)