#!/bin/bash
#*Ejercicio 11.* Un administrador de sistema quiere saber si hay accesos a
#su servidor Web desde máquinas desconocidas. Para ello dispone de un
#archivo de log accesos.log cuyo primer campo, separado por blancos, es el
#nombre de una máquina o su número IP, indistintamente; luego otros dos
#campos, luego fecha y página solicitada. La lista de máquinas de su propio
#dominio se encuentran en el archivo /etc/hosts. Escribir un script que
#muestre los nombres o números IP de máquinas que accedieron el Web y la
#fecha, omitiendo las máquinas del propio dominio. Recordar que el archivo
#/etc/hosts puede tener comentarios, y que accesos.log tiene varios campos.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
cat /etc/hosts | grep ^[^#.] | awk -F"[ \t]" '{print $1 }' > hosts.txt
while read linea
do
servidor=`echo $linea | cut -d" " -f1`
fecha=`echo $linea | cut -d" " -f4`
#echo $servidor
grep $servidor hosts.txt &>/dev/null
if [[ $? != 0 ]]
then
echo "$servidor $fecha"
fi
done < accesos.log
#*Ejercicio 11.* Un administrador de sistema quiere saber si hay accesos a
#su servidor Web desde máquinas desconocidas. Para ello dispone de un
#archivo de log accesos.log cuyo primer campo, separado por blancos, es el
#nombre de una máquina o su número IP, indistintamente; luego otros dos
#campos, luego fecha y página solicitada. La lista de máquinas de su propio
#dominio se encuentran en el archivo /etc/hosts. Escribir un script que
#muestre los nombres o números IP de máquinas que accedieron el Web y la
#fecha, omitiendo las máquinas del propio dominio. Recordar que el archivo
#/etc/hosts puede tener comentarios, y que accesos.log tiene varios campos.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
cat /etc/hosts | grep ^[^#.] | awk -F"[ \t]" '{print $1 }' > hosts.txt
while read linea
do
servidor=`echo $linea | cut -d" " -f1`
fecha=`echo $linea | cut -d" " -f4`
#echo $servidor
grep $servidor hosts.txt &>/dev/null
if [[ $? != 0 ]]
then
echo "$servidor $fecha"
fi
done < accesos.log
No hay comentarios:
Publicar un comentario