This newest set of changes to the tool still don't include some of the things on my future wishlist, as mentioned in the previous post, but instead came about when I attempted to use the tool from a Windows system and found it didn't work so well.
The changes in version 0.2 were essentially focused on getting the same functionality from the tool when run in Windows, as when run from Linux, as well as fixing some little niggles I found when attempting to use greppable output after running the tool on a list of sites via a for loop.
Some detail on the changes made in version 0.2:
- Windows support, including coloured output using Win32::Console::ANSI.
- Helpful error messages provided for missing perl modules, telling you how to remediate the issue. Not much of an issue on Linux really, as most of the required modules are installed by default, but during the process of adding Windows support I discovered that IO::Socket::SSL, Net::SSLeay and Win32::Console::ANSI are all not installed by default AND not available in the ActiveState perl repositories. The error messages will point you in the right direction to remediate the issue on Windows.
- Some text added to the help message about OpenSSL. While testing the tool on Windows I discovered that the misbehaving SSL appliance that triggered me writing this tool in the first place also did not respond well to particular versions of OpenSSL, in this case because the SSLv3 Hello packet was using a slightly different format. Basically I just wanted to raise awareness here that if the tool isn't working for you on a particular system, you may want to try a different version of OpenSSL.
- The format of the grep-able output has been improved, to include all of the relevant data on each individual line of output, including the compliance status for individual ciphers, hostname and port, protocol (SSLv2, SSLv3, TLSv1), cipher name and cipher description. Essentially this makes the tool easier to use on large numbers of hosts at once - you can test multiple sites from a script, write all the data to one file and then grep the output to find relevant data.
- Some minor cosmetic adjustments.
Here's a screenshot of the tool running on Windows, in all its colourful glory.
Download it here from Github: