Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I manage a small office network. I am looking to start monitoring/logging internet usage (website requests) for each user on a small network. All the windows clients are running through a switch to a BT router. I also have a linux (centos) machine which is connected as a client to the BT router as well.

Is there any free software I can install on the linux box (or my own machine) to allow me to log and monitor websites requested by users kind of like browser history. Ideally, something that would collect each client's browser history in 1 place.


share|improve this question

closed as off-topic by joeqwerty, ceejayoz, mdpc, Dennis Kaarsemaker, Ward Oct 18 '13 at 16:59

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they tend to become obsolete quickly. Instead, describe your situation and the specific problem you're trying to solve." – joeqwerty, ceejayoz, mdpc, Dennis Kaarsemaker, Ward
If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 3 down vote accepted

It should not work like this. You should install a http proxy on a server (ie. your linux box) and tell all your clients to use this http proxy. You can tell them to reconfigure their browsers with a PAC file. Then you disable http access on your firewall so they cannot bypass your http proxy. Such http proxy is Squid. It has many tools which can generate graphs for you. So you can see what IP/client was visiting, transferred data etc. Getting it from browsers on Windows is: 1. non-reliable, 2. problematic (they can change browser etc.).

share|improve this answer
Ill have a look at squid as it seems promising. I just need to figure how to configure it so I can keep a log of this information. – David Oct 18 '13 at 8:38

The Http proxy answer given is a good idea. At some point management will also want you to start blocking access to specific websites and domains. At that point, you may find that a proxy server will be a valuable tool. And proxy servers can mandate credentials, so that the host/user is validated to be a specific person.

Another useful tool is your DNS (Domain Name Server). It should be able to log all DNS requests (date/time and ip/host), and also give you an easy way to redirect specific hostnames and domains. But the DNS approach does not prevent someone using the ip address for their Http/web access.

Firewall rules is yet another place on your network where you can block/prevent these access.

None of the above addresses ip tunneling.

share|improve this answer

Alternative/supplementary to proxy solution:

You can install second network card to your linux box, setup software bridge and put it between switch and router.

Thus, all client traffic will be available for analysis, e.g. with justniffer (

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.