Monitoring Bandwidth Across Multiple Systems in a Home Network
For the past several years, I have been using a simple software bandwidth monitor on my computer to keep track of my monthly bandwidth usage. It has worked fine (more or less; the numbers are slightly off from my ISP’s online tracker).
This works fine for a single computer, but when my mother connects her laptop to my router or if I use second computer, then monitor and managing bandwidth becomes much more difficult.
I considered running a bandwidth monitoring software on each system that is to connected and (somehow) transferring the logs to a central system to (again somehow) be incorporated into a central log file, but not surprisingly, this is a nightmare at best.
I also thought about a router solution (as has been mentioned, but it would need to be easy to use and customize).
Is there an easy way to monitor and log total bandwidth usage (ie from multiple systems)? It should not require all the systems to be monitored to be on at any specific time, nor having all systems connect through another one (i.e., they should be able to connect directly to the Internet connection).
Also, it should be able to differentiate between local and remote traffic so that transferring files between two local systems does not count towards Internet bandwidth usage.
If you aren't against buying hardware -- you could purchase a DD-WRT compatable router (Such as a Linksys WRT54GL) and install the Gargoyle Router firmware which can do per-ip monitoring internally, and would not be reliant on any one PC being online and available. If you don't care about per-ip, DD-WRT or Tomato firmware can both do total usage, and even cap your usage for you so you dotn get overbilled.
If you have a SNMP enabled switch and a PC that is on all the time you could log bandwidth usage per switch port with something such as Cacti (or RRDTool)
If you have a spare PC around, IPTables as a router + RRDTool can provide bandwidth logs.