Proxy?
Geralmente isso é feito através da criação de um proxy ou filtro através do qual todos passam o tráfego. Eu fiz isso com o Squid no FreeBSD / Linux e agora temos o 8e6 que se integra ao nosso firewall Cisco. Se você pegar a rota do squid, existem ferramentas que podem analisar os arquivos de log (ou você pode fazer o seu próprio), enquanto os filtros comerciais têm interfaces da web para gerar relatórios.