
#!/bin/sh
# subject	: Script to check/test FireWall config's. By using nmap
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${TMP}.$$"
LOG="${HOME}/log/${PGM}.log"
CSV="${HOME}/data/${PGM}.csv"
CSV="${HOME}/data/oci_rau-s.csv"
MAILTO="maarten.deboer@atos.net maarten@agrarix.it"
#MAILTO=""

if [ ! -f ${CSV} ]; then
  echo "  NO CSV (${CSV}) found. Exiting ..."
  exit 3
fi
touch ${TMP}
echo "`date` ${PGM} v${VER} at `hostname` started."|tee -a ${LOG} ${TMP}

cat ${CSV}|grep -v ^#| while read LINE
do
  IPADDR=`echo ${LINE}|awk -F\; '{print $1}'`
  HOSTNAME=`echo ${LINE}|awk -F\; '{print $2}'`
  ENV=`echo ${LINE}|awk -F\; '{print $3}'`
  echo "  ${ENV}:${HOSTNAME}(${IPADDR})"|tee -a ${TMP} ${LOG}
  ping -c 2 -W 3 ${IPADDR} 1> /dev/null 2>&1
  EC=${?}
  if [ ${EC} -eq 0 ]; then
# ping OK. Check SSH
    echo -n "    ping = OK, " |tee -a ${TMP} ${LOG}
#    ANSW=`nmap -Pn --host-timeout 10s -p 22 ${IPADDR}| grep 22`
#    if [ "${ANSW}" != "" ]; then
#      echo " ${ANSW}"|tee -a ${TMP} ${LOG}
#    else
#      echo " NO ssh"|tee -a ${TMP} ${LOG}
#    fi  # ANSW
  else
    echo -n "    ping NOTok, " |tee -a ${TMP} ${LOG}
  fi  # ping

  ANSW=`nmap -Pn --host-timeout 10s -p 22 ${IPADDR}| grep ssh`
  echo " ${ANSW}"|tee -a ${TMP} ${LOG}

done  # cat

if [ "${MAILTO}" != "" ] && [ -s ${TMP} ]; then
  cat ${TMP}|mailx -s "Check NL-OCI-RAU connections [${PGM} v${VER}]" ${MAILTO}
  echo "  Mailed to ${MAILTO}."|tee -a ${LOG}
fi

echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
rm ${TMP}
exit 0

