vnStat is a network traffic monitor for Linux that keeps a log of daily network traffic for the selected interface(s). vnStat isn't a packet sniffer. The traffic information is analyzed from the /proc vfs, so vnStat can be used without root permissions. However at least a 2.2.x kernel is required.

Quick install guide (I have set it up on a Slackware 10.0 box):

[user@host] $  wget
[user@host] $  tar zxvf vnstat-1.4.tar.gz
[user@host] $  cd vnstat-1.4
[user@host] $  make
[user@host] $ su
[root@host] # checkinstall 
# (or "make install" on most systems)
#create databases for NICs
[root@host] # vnstat -u -i eth0
[root@host] # vnstat -u -i eth1
[root@host] # crontab -e

Add the following entry in the crontab:

*/5 * * * * /usr/bin/vnstat -u

Install the frontend:

[root@host] # cd /var/www/htdocs
[root@host] # wget -O vnstat_php_frontend-1.3.tar.gz
[root@host] # tar zxvf vnstat_php_frontend-1.3.tar.gz
[root@host] # mv vnstat_php_frontend-1.3 vnstat

Edit vnstat/config.php and adjust the following lines to your preference:

$iface_list = array('eth0', 'eth1');
$iface_title['eth0'] = 'Extern';
$iface_title['eth1'] = 'Intern';
$vnstat_bin = '/usr/bin/vnstat';

That's all, assuming apache is properly configured with php enabled, you can access the interface at
Remember to protect it with some http authentication if you don't want the whole world to be able to access it :)

Btw, here's a screenshot: