
#!/bin/sh
# File	: netw-scan.sh
# By	: MaartenDeBoer.nl, 260831
# Subject	: Script to scan network
#(0.2),260901	: Mod's
#(0.3),260902	: Added IMG & ACT-LED
PGM=`basename $0|cut -d\. -f1`
VER="0.3"
TMP="/tmp/${PGM}.$$" 
LOG="${HOME}/log/${PGM}.log"
DATADIR="${HOME}/data"
HOSTNAME=`hostname|cut -d\. -f1`
#CSV="${DATADIR}/${PGM}_`date +%y%m%d`.csv"
CSV="${DATADIR}/${PGM}.csv"
MAILTO=""
SCAN="1"
PAGE="/var/www/html/index.html"

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}

# Set ACT-LED fast blink
echo timer | sudo tee /sys/class/leds/ACT/trigger
echo 100 | sudo tee /sys/class/leds/ACT/delay_on
echo 100 | sudo tee /sys/class/leds/ACT/delay_off
 
if [ ${SCAN} ]; then
  echo "# IP_ADDR;FQHN;FABR;ECping;" > ${CSV}
  sudo arp-scan -l|grep "^[0-9]"|while read LINE
  do
#    echo "  ${LINE}"
    IP_ADDR=`echo ${LINE}|cut -d' ' -f1`
    FABR=`echo ${LINE}|cut -d' ' -f3-`
    ping -c 2 -W 1 ${IP_ADDR} 1>/dev/null 2>&1
    ECP=$?
    FQHN=`dig +short -x ${IP_ADDR}|head -1`

    echo "${IP_ADDR} ; ${FQHN} ; ${FABR} ; ${ECP} ;"| tee -a ${CSV}
  done  # LINE
fi  # SCAN

if [ "${MAILTO}" != "" ]; then
  date | mailx -a ${CSV} -s "${PGM} v${VER}" "${MAILTO}"
  echo "  Mailed to ${MAILTO}"|tee -a ${LOG}
fi  # MAILTO

if [ "${PAGE}" != "" ]; then
  echo "<HTML>" > ${PAGE}
  echo "  <CENTER> <IMG SRC='ScanPi_square.jpg' ALT='ScanPi picture' WIDTH='10%'> " >> ${PAGE}
  echo "  <CENTER> <H1> ${PGM} </H1> </CENTER> " >> ${PAGE}
  echo "  <HR>" >> ${PAGE}
  echo "  <BODY>" >> ${PAGE}
  echo "  <TABLE BORDER=1>" >> ${PAGE}
  cat ${CSV} |sort -V |while read LINE
  do
    echo "${LINE}"
    IP_ADDR=`echo ${LINE}|awk -F\; '{print $1}'`
    FABR=`echo ${LINE}|awk -F\; '{print $2}'`
    FQHN=`echo ${LINE}|awk -F\; '{print $3}'`
    ECP=`echo ${LINE}|awk -F\; '{print $4}'`

    echo "    <TR>" >> ${PAGE}
    echo "      <TD> ${IP_ADDR} </TD>" >> ${PAGE}
    echo "      <TD> ${FABR} </TD>" >> ${PAGE}
    echo "      <TD> ${FQHN} </TD>" >> ${PAGE}
    echo "      <TD> ${ECP} </TD>" >> ${PAGE}
    echo "    </TR>" >> ${PAGE}

  done  # LINE
  echo "  </TABLE>" >> ${PAGE}
  echo "  <HR>" >> ${PAGE}
  echo "  <CENTER> <H3> ${HOSTNAME} :" >> ${PAGE}
  echo "  <A HREF='/shutdown.html'>AFSLUITEN (shutdown)</A> |" >> ${PAGE}
  echo "  <A HREF='/reboot.html'>HERSTART (reboot)</A>" >> ${PAGE}
  echo "  </H3> </CENTER>" >> ${PAGE}
  echo "  <HR>" >> ${PAGE}
  echo "  <CENTER> <H6> `date` ${PGM} v${VER} at ${HOSTNAME} </H6> </CENTER> " >> ${PAGE}
  echo "  </BODY>" >> ${PAGE}
  echo "</HTML>" >> ${PAGE}
  echo "  Writen to ${PAGE}"|tee -a ${LOG}
fi  # PAGE

# Set ACT-LED slow blink
echo timer | sudo tee /sys/class/leds/ACT/trigger
echo 2000 | sudo tee /sys/class/leds/ACT/delay_on
echo 2000 | sudo tee /sys/class/leds/ACT/delay_off

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

