From b69505223ad58fd43853b8af65f3b54ea1b1d3b0 Mon Sep 17 00:00:00 2001 From: Dirk Date: Fri, 9 Jun 2017 11:22:11 +0200 Subject: [PATCH] added "gmap2testssl.sh": utility which converts grepable nmap output to testssl's file input --- utils/gmap2testssl.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 utils/gmap2testssl.sh diff --git a/utils/gmap2testssl.sh b/utils/gmap2testssl.sh new file mode 100755 index 0000000..d152407 --- /dev/null +++ b/utils/gmap2testssl.sh @@ -0,0 +1,42 @@ +#/bin/sh -e + +# utility which converts grepable nmap outout to testssl's file input + +usage() { + cat << EOF + +usage: + + "$0 filename<.gmap>": looks for filename/filename.gmap and converts into basename \$(filename)-testssl.txt" + "$0 filename<.gmap>" "scan option": same as before, only adds testssl.sh scan option in front of IPs" + +EOF + exit 0 +} + +[ -z "$1" ] && usage +FNAME="$1" +OPT2ADD="${2:-}" + +if ! grep -q gmap <<< "$FNAME"; then + FNAME="$FNAME.gmap" +fi +[ ! -e $FNAME ] && echo "$FNAME not readable" && exit 2 + + +TARGET_FNAME=${FNAME%.*}-testssl.txt + +# test whether there's more than one "open" per line +while read -r oneline; do + if [ $(echo "${oneline}" | tr ',' '\n' | grep -wc 'open') -gt 1 ]; then + # not supported currently + echo "$FNAME contains at least on one line more than 1x\"open\"" + exit 3 + fi +done < "$FNAME" + +awk '/\/ { print "'"${OPT2ADD}"' " $2":"$5 }' "$FNAME" | sed 's/\/open.*$//g' >"$TARGET_FNAME" +exit $? + +# vim:ts=5:sw=5 +