Take the 2-minute tour ×

Original question asked on Stack Overflow, I wanted to see what you guys had to say.

My end goal is to have a report showing all the top level domains that were visited the previous day from all the computers at my home. The report would also be able to show which pages were visited, which local IP address went there. I'd also like to track incoming and outgoing bandwidth used.

I don't want to install an application on each computer: ideally I would have a proxy server or something that all the connections would go through. I can't have this slow down the network - it can't affect my XBox Live ping time! ;-) I also frequently VPN from home and it shouldn't interfere with this capability.

The existing computers are Windows (XP & Vista), but I have no problem installing a *nix box as a router/proxy whatever. I have spare hardware to commit to this. Recommendations? Squid? ISA Server? Something else?

The SO answer was to use Open DNS - that does a decent job of showing me the TLDs that were accessed or blocked, but I'm very interested in monitoring network usage. I would really like to know which computers/destinations are using the most bandwidth, time of day, etc.


locked by HopelessN00b Dec 5 at 9:12


closed as off topic by Bryan, MDMarra, Chris S Nov 26 '12 at 4:50


5 Answers 5

up vote 7 down vote accepted

I'd recommend Smoothwall, which can handle reporting (through log files and/or its Web GUI) the sites visited and who visited them. Add on the bandwidthd plugin, and you can see what machine(s) is(are) using the most bandwidth, and what protocol they're using (HTTP, FTP, P2P, etc.).

Would I install Smoothwall on a machine and place it between my router and my cable modem? If so, what OS should it run? How easy is this to set up? –  Nathan DeWitt May 12 '09 at 20:10
Yes you would - but Smoothwall is a full OS, not just a software package. It's a Linux-based setup. –  Harper Shelby May 12 '09 at 21:21

Put something like Squid in and then run the logs against a decent traffic analyzer. Your web clients will then be configured to use the Squid as the proxy. The proxy will gather your data and the analyzer will give you the reports. As this is a web proxy server your XBox won't be affected at all :)

I like sarg (sarg.sourceforge.net) for analysis. –  Zoredache May 12 '09 at 19:09
But, I think you'd miss 90% of the bandwidth usage by just analyzing web traffic. –  Mark Brackett May 12 '09 at 19:20
Not if he's restricting it to web protocols. Plus, at home web traffic is EASILY higher than 10% of the traffic that makes it out of the gateway. –  squillman May 12 '09 at 19:25

Is it possible to use your router? Most consumer grade routers offer the ability to log what websites are visited, and for monitoring bandwidth usage if the router supports SNMP you can try running a service such as Cacti or if it can run alternative firmware such as Tomato

The other option that would be akin to taking a sledgehammer to a small nail would be to run wireshark using a hub between you router and your modem to collect all the info that passes across the wire.

I have a Buffalo WHR-G54S, which is compatible with DD-WRT firmware. Would installing this firmware allow me to get all the graphs and data I want? –  Nathan DeWitt May 12 '09 at 20:08
Yes, DD-WRT will give you the information you want. The graphs are available in the Status section - personally I used to run (before the router died of old age) eko's versions or v24 preSP2 instead of v24 SP1 for bug fixes and the newer features. Tomato will install on your router as well. –  Chealion May 12 '09 at 22:19

Let me throw in another suggestion: IPCop. It's a firewall with lots of bells and whistles, including a transparent proxy with logging and reporting, traffic shaping (for XBox Live and those pesky torrents), VPN tunneling, and more.

Is IPCop something that runs on a machine sitting between the router and the cable modem? If so, what OS should I run? How easy is it to set up? –  Nathan DeWitt May 12 '09 at 20:12
It's an appliance/machine/virtual machine that is either attached to your router the same way your other clients are (in which case the clients must use to IPCop as their gateway), or indeed, between the modem and router (better). It's pretty easy to configure as far as Linux firewalls go, and given all it's features, it's worth learning more about it. IPCop is like a bundle of many programs tied together in its own Linux distro, so you only need the CD/flash/usb image to install it or run it live. –  Ivan May 13 '09 at 3:46

I know I'm late to the party, but you might also look at running m0n0wall - a BSD-based router/firewall toolset.

