The SNI Readiness tool can be used by server admins to parse incoming HTTP traffic from the IIS W3C logs on the IIS server in order to determine the percentage requests that come from SNI capable clients. This should enable server admins to make an informed decision on enabling SNI-Centric features on IIS 8.0 for Windows 8.
Server Name Indication
For more information on SNI and how you can leverage the IIS 8.0 SNI capabilities, you can click here
This SNI Readiness Tool can be downloaded from here
The SNI Readiness Tool obtains the total requests from SNI compatible clients, by examining the user-agent string inside the log file. It uses the following heuristics
1) If user-agent string indicates that the request came from an IE7 browser on an Operating System higher than Windows Vista, we consider the browser to be SNI Compatible.
2) If user-agent string indicates that the request came from an IE7 browser on an Operating System lower than Windows Vista (XP, Windows Server 2003), we consider the browser to be SNI incompatible.
3) If user-agent string indicates an IE version less than IE7, the request is considered SNI incompatible.
4) If we are unable to determine the version of IE, then the request is considered to have come from a non-deterministic browser.
5) If user-agent indicated request to be coming from “firefox”, “chrome”, “opera”, “safari” or “gecko”, we consider these browsers to be SNI Compatible. Otherwise, we mark the request as non-deterministic
1. To run the tool against an existing IIS W3C log file, you should use the following command-line
| Log records processed: 400500
Total requests from SNI compatible clients : 159627 (62.73%)
IE : 63505 (24.95%)
Non-IE : 96122 (37.77%)
Not SNI capable:
Total requests from < IE7 browsers : 12941 (5.09%)
Total requests from >= IE7 browsers on XP : 81761 (32.13%)
Total requests in log(s) : 400749
Total requests with non-deterministic user-agent : 146269
2. In order to obtain help, you would need to run the executable without any command-line arguments
SNI Readiness Tool v1.0
Usage: SNIChecker [-site:<sitename>] [-logfile:<log_files_path>] [-recurse] [-skipstatic] [-help]
3. If –logfile option specifies a directory path, SNI Readiness tool will parse all log files under that directory
4. The –site option is used to indicate that the SNI readiness tool can work against a live site. We obtain the location to the log file using the sitename and then apply the heuristics mentioned in (1) against the log file.
5. The –skipstatic option is used to skip parsing static files specifically the files that end with either “png”, “jpg”, “gif”, “js” or “css”.
6. The –recurse option is used by the SNI Readiness Tool to understand if the user would like to parse all log files on the top-level directory only or would like to traverse subdirectories as well.
If the SNI Readiness tool is incapable of parsing a particular user-agent, it dumps the user-agent inside of an SNIChecker.trace file.