I'm looking for ways to monitor the Internet usage - the total amount of data transferred - of individual devices on my network. I'm using FreeBSD 9.0-RELEASE with pf for filtering and NAT. I'm not sure how to go about doing this.
I'm currently using Cacti to monitor my aggregate Internet usage, and I could hook SNMP monitors up to some of the devices, but not everything on the network can run SNMP.
How are other people with FreeBSD (or other BSDs, I suppose), monitoring individual devices on their networks?
Setting up Netflow would fit the bill. While normally generated by network equipment there are open source packages (http://fprobe.sourceforge.net/) to generate Netflow based on libpcap. This data can then be exported to a number of both freely available and commercial collectors and analyzers (either on the same host or separate) that can then provide detailed information about individual hosts, protocols, etc.