#!/bin/bash
alarma=2
readarray GREPPED < <(last | grep -v ":0 " | grep -v "stem" | grep logged | cut -d" " -f10)
 for item in "${GREPPED[@]}"
 do
  if [[ "${item}" == xxx.xxx.xxx.* ]]; then # Nuestra red terminada en * para que busque coincidencias en todo el rango
   log=`last | grep ${item} | grep logged | cut -d" " -f18`
   conectado=${item}
   alarma=0
  else
   nmap -sP NUESTRA RED/24 | grep ${item} > /dev/null
   if [ $? = 0 ]; then
    conectado=`nmap -sP NUESTRA RED/24 | grep ${item} | cut -d"(" -f2 | cut -d")" -f1`
    log=`last | grep ${item} | grep logged | cut -d" " -f15`
    alarma=0
   else
     conectado=${item}
     echo ATENCIÓN: CONEXIÓN DETECTADA DESDE $conectado
     exit 2 #Salida CRITICAL
   fi
  fi
 done
if [ $alarma = 0 ]; then
   echo OK: Conexión detectada desde $conectado a las $log
   exit 0 #Salida OK
elif [ $alarma = 2 ]; then
   echo OK: No hay conexiones remotas entrantes
   exit 0 #Salida OK
else
   echo Error desconocido
   exit 3 #Salida Unknown
fi
else
 echo Hacen falta argumentos: $0 -a [on|logged]
 exit 3 #Salida Unknown
fi
