Objetivo: Script que generará una alerta en pantalla desde el momento en que un dispositivo acceda a la red bien por Wifi o bien por cable en Linux Mint.
A veces nos interesa que nuestro equipo nos notifique mientras estemos delante de él, cuando un dispositivo ha accedido a nuestra red.
Puede tener múltiples usos:
- Averiguar cuando un dispositivo del que desconocemos su propietario está accediendo a nuestra red.
- Saber si nuestro móvil está en casa.
- Monitorizar cuándo llega alguien conocido a casa ya que su dispositivo móvil se asocia automáticamente a la red Wifi.
- Saber si el ordenador o móvil de un hijo se acaba de conectar a la red.
- Saber si ha llegado tu jefe a la empresa.
Necesitaremos instalar addrwatch y saber cual es la dirección MAC del equipo en cuestión.
Primer Paso: Instalar addrwatch.
Para instalar addrwatch lo que haremos es compilarlo siguiendo este fácil tutorial.
Segundo paso: Creación del script.
Necesitarás saber cual es la dirección MAC del equipo o de los equipos a monitorizar.
#!/bin/bash
# A continuación sustituye las MACS separadas por |
macs="xx:xx:xx:xx:xx:xx|yy:yy:yy:yy:yy:yy|zz:zz:zz:zz:zz:zz"
testea()
{
hora=$( date "+%H:%M:%S %d-%m-%Y" );
ip=$( echo $line | awk '{print $5}' )
mac=$( echo $line | awk '{print $4}' )
dialog=`zenity --info "Atención:" --text="\`printf "Acceso a la Red detectado\nMAC: $mac\nIP: $ip\nHora: $hora"\`"`
}
sudo addrwatch | while read line
do
echo $line | grep -qE $macs
[ $? -ne 0 ] || testea
done
Otras consideraciones:
Como ampliación a este script podría fácilmente avisar mediante un correo electrónico, enviar mensaje mediante mqtt o guardar en un archivo un log de los accesos.
También es posible hacerlo en Openwrt para no dejar un ordenador todo el día encendido monitorizando. Lo que no funcionará es la orden zenity ya que el Openwrt es un sistema operativo sin escritorio.