martes, 13 de enero de 2015

Detectar intrusos en red wifi (3)

Y este es otro tanto de lo mismo, pero escrito en bash, sin comentarios....


#!/bin/bash

# Configurar las ip's de nuestros dispositivos conocidos,
# cuando se verifique que funciona el scripts, aqui un ejemplo
# cambia las direcciones por las de tu dispositivos.
ip_amigas=('192.168.1.128' '192.168.1.129')
gateway=`route | grep default|awk '{print $2}'` 
red=`route | grep default|awk '{print $8}'`
# Por si tenemos mas de un adaptador de red en nuestra maquina
read gateway gateway2 <<<$(IFS=" "; echo $gateway)
read red red2 <<<$(IFS=" "; echo $red)
#Sacamos la dirección ip de nuestra maquina
ip=`/sbin/ifconfig $red | grep inet |awk '{print $2}'|grep '[[:digit:]]\{1,3\}\.[[:digit:]]\{1,3\}\.[[:digit:]]\{1,3\}\.[[:digit:]]\{1,3\}'|cut -c 6-`
# En esta linea de abajo al final de la linea, donde dice "cut -f 1 -d" 
# cambiar el 1 por el 2 en caso de que "NO FUNCIONE"
scaneo=`nmap -sP ${gateway}/24 | grep [Nmap\|Host]|awk '{print $5 "#"$2 }'|grep '[[:digit:]]\{1,3\}\.[[:digit:]]\{1,3\}\.[[:digit:]]\{1,3\}\.[[:digit:]]\{1,3\}'|cut -f 1 -d "#"`
# la lina de abajo es para comprobar que se hace el scan correctamente, sino cambiar 
# el 1 por el 2 en la linea de arriba. una vez comprobado funciona se puede comentar
# o borrar la linea echo "$scaneo"
echo "$scaneo"
# añadimos el gateway y nuestra dir ip para no ser
# tenidas en cuenta como intrusos
ip_amigas=( "${ip_amigas[@]}" "$ip" "$gateway")

texto=""
for linea in $scaneo
do
    reg=""
    for rev in ${ip_amigas[@]}
    do
        if [ "$linea" = "$rev" ]; then
           reg="OK"
        fi
    done
    if [ -z $reg ] ; then
        texto=`echo -e ${texto}"\n"${linea}`
    fi
done

if [ -z "$texto" ] ; then
    echo "No hay intrusos"
else
    salida=`notify-send -t 0 -i wicd-gtk 'Escaneo de la Red' "$texto"`    
fi
# el parametro -i wicd-gtk puede ser cambiado a cualquier otra imagen

No hay comentarios:

Publicar un comentario