detectar_intrusos_red.sh 1.78 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#!/usr/bin/env bash
# -*- ENCODING: UTF-8 -*-
##
## @author     Raúl Caro Pastorino
## @copyright  Copyright © 2018 Raúl Caro Pastorino
## @license    https://wwww.gnu.org/licenses/gpl.txt
## @email      dev@fryntiz.es
## @web        https://fryntiz.es
## @github     https://github.com/fryntiz
## @gitlab     https://gitlab.com/fryntiz
## @twitter    https://twitter.com/fryntiz
##
##             Guía de estilos aplicada:
## @style      https://github.com/fryntiz/Bash_Style_Guide

############################
##     INSTRUCCIONES      ##
############################
## Script para detectar intrusos en una red utilizando nmap

############################
##       CONSTANTES       ##
############################
AM="\033[1;33m"  ## Color Amarillo
RO="\033[1;31m"  ## Color Rojo
VE="\033[1;32m"  ## Color Verde
CL="\e[0m"       ## Limpiar colores

###########################
##       VARIABLES       ##
###########################
32 33
RED=''  ## Dirección y máscara de red, si está vacío se pedirá después
LOGRED='/tmp/detectar_intrusos.log'  ## Archivo de log
34 35

###########################
36
##       EJECUCIÓN       ##
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
###########################

if [[ ! -x '/usr/bin/nmap' ]]; then
    echo -e "$RO No tienes$AM nmap$RO instalado en el equipo$CL"
    echo -e "$VE Puedes instalarlo con:$AM sudo apt install nmap$CL"
    exit 1
fi

if [[ "$RED" = '' ]]; then
    echo -e "$VE Introduce la dirección de la red$CL"
    echo -e "$VE Si tu router es$RO 192.168.1.1$VE la dirección de la red$CL"
    echo -e "$VE y los bits, puede ser $RO 192.168.1.0/24$VE si es de 24 bits$CL"
    read -p '  → ' RED
fi

if [[ "$RED" != '' ]]; then
53
    nmap -sPn $RED | tee -a $LOGRED
54 55 56 57 58
else
    echo -e "$RO La dirección de la red está vacía, saliendo del script$CL"
    exit 1
fi

59 60
echo -e "$RO Script completado$CL"

61
exit 0