Você pode fazer isso através de uma adaptação um pouco complicada (mas muito fácil de gerenciar a longo prazo, e bem compreendida) do monitoramento de tráfego do Netflow (usando o OpenBSD's pflow ).
Basicamente, exporte dados de fluxo de rede para todo o seu tráfego, agarre-o com Flow-Tools e o alimente para algo como JKFlow para analisar (e representar graficamente / reportar). Há também muitos outros programas de processamento / representação gráfica do NetFlow e vários sistemas de monitoramento em tempo real disponíveis. A vantagem é que exportar no formato NetFlow abre uma enorme variedade de ferramentas para você usar - A desvantagem é a sobrecarga e a complexidade de executar todo esse código extra.
Você também pode fazer mágica usando o MRTG , mas eu não estou tão familiarizado com isso.