#!/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