Site Check – Web Site Advice

Get healthy advice on how to improve your web site and make money with it
Topics covered: Creation, Optimization, Marketing, Maintenance, Hosting, Tuning

If you are using Analog to analyze your web server log files, then you might have noticed a recent increase in hits for “Unknown Windows” in the operating system report.

Most of these hits are actually coming from Windows Vista, but as Analog hasn’t been updated in a while, it doesn’t recognize Vista yet. You need to patch the source of Analog for this functionality.

Download the latest source from the Analog site (analog-6.0.tar.gz or anlg60.zip).

Unpack the archive on your hard drive and look into the src directory.

You need to modify the file “tree.c“.

Look for this code:

	if (*c == '5') {
	  if (*(c + 1) == '.' && (*(c + 2) == '0'))
	    *name = "Windows:Windows 2000";
	  else if (*(c + 1) == '.' && (*(c + 2) == '1'))
	    *name = "Windows:Windows XP";
	  else if (*(c + 1) == '.' && (*(c + 2) == '2'))
	    *name = "Windows:Windows Server 2003";
	  else
	    *name = "Windows:Unknown Windows";
	}
	else if (*c >= '6' && *c <= '9')
	  *name = "Windows:Unknown Windows";
	else

and replace it with:

	if (*c == '5') {
	  if (*(c + 1) == '.' && (*(c + 2) == '0'))
	    *name = "Windows:Windows 2000";
	  else if (*(c + 1) == '.' && (*(c + 2) == '1'))
	    *name = "Windows:Windows XP";
	  else if (*(c + 1) == '.' && (*(c + 2) == '2'))
	    *name = "Windows:Windows Server 2003";
	  else
	    *name = "Windows:Unknown Windows";
	}
	else if (*c == '6') {
	  if (*(c + 1) == '.' && (*(c + 2) == '0'))
	    *name = "Windows:Windows Vista";
	}
	else if (*c >= '7' && *c <= '9')
	  *name = "Windows:Unknown Windows";
	else

This will tell Analog to recognize user agents such as Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506) as coming from a Windows Visa PC.

Windows Vista's OS string is "Windows NT 6.0".

After you've modified tree.c you need to recompile analog. On most Linux/Unix/Mac systems you just need to run make inside the Analog directory.

Happy compiling and analyzing!

Bookmark and Share


One Response to “Modifying Analog to recognize Windows Vista”

  1. Site Check - Web Site Advice » Blog Archive » Modifying Analog to recognize iPod/iPhone Says:

    [...] a previous article I explained how to change the free Analog log analyzer to recognize Windows Vista. Now as I start [...]



Leave a Reply


You must be logged in to post a comment.