#!/bin/sh COLOR_RED="\e[31;1m" COLOR_GREEN="\e[32;1m" COLOR_OFF="\e[m" TEXT_OK="[ ${COLOR_GREEN}成功${COLOR_OFF} ]" TEXT_NG="[ ${COLOR_RED}失敗${COLOR_OFF} ]" TEXT_ERROR="[ ${COLOR_RED}ERROR${COLOR_OFF} ]" PORT=443 buf="" while read f; do HOST=$f if [ `nmap -p ${PORT} ${HOST} 2>&1 | grep ${PORT} | grep "closed\|filtered" | wc -l` -ne 0 ]; then echo -n -e "${TEXT_OK}: " echo "${HOST}:${PORT} is closed" elif [ `nmap -p ${PORT} ${HOST} 2>&1 | grep "0 hosts up" | wc -l` -ne 0 ]; then echo -n -e "${TEXT_ERROR}: " echo "${HOST} host is unreachable" else if [ `echo "" | openssl s_client -connect ${HOST}:${PORT} -ssl2 2>&1 | grep "ssl handshake failure\|Secure Renegotiation IS NOT supported" | wc -l` -ne 0 ]; then echo -n -e "${TEXT_OK}: " echo "${HOST}:${PORT} is disables SSLv2" else echo -n -e "${TEXT_NG}: " echo "${HOST}:${PORT} maybe enables SSLv2" fi fi done
■使い方
上記のスクリプトをssl2.shというファイル名で保存して、スクリプトのあるフォルダで下記を実行
chmod +x ./ssl2.sh echo "yourhost.name" | ./ssl2.sh
ホストがたくさんある場合は改行区切りのテキストをcatして渡してもOKです
※稀にssl handshake failureを返さないサーバーもあるので、失敗が出たホスト名に関しては手動で確認する必要があります。