clear

#Definimos las variables de uso 

interface1="eth0";
interface2="wlan0";


while [ opcion != "0" ] 
do
        clear
	res_estado_ethX=$(ip link show $interface1 | sed '/link/d' | sed '/lo/d' | sed '/wlan/d' | sed '/ath/d' | cut -d "," -f 3);
	res_estado_wifiX=$(iwconfig $interface2 | sed '/eth/d' | grep "Mode" | cut -f 2 -d ":" | cut -f 1 -d " ");

	echo "-----------------------------------------------------------";
	echo "- :: MENU PRINCIPAL ::                                    -";
	echo "-----------------------------------------------------------";
	echo "- [1] - Definir MODO interfaz Ethernet [$interface1] [ $res_estado_ethX ] ";
	echo "- [2] - Definir MODO interfaz WIFI [$interface2] [ $res_estado_wifiX ] ";
	echo "- [0] - Salir                                             -";
	echo "-----------------------------------------------------------";

	read -p "- Opcion :" opcion;

    	case $opcion in
	#;
        0) 	
		clear;
		exit 0;
	;;

	#;
        1) 
			while [ opcion2 != "0" ] 
			do
				clear
				echo "------------------------------------------------------------";
				echo "- :: MENU ETHERNET ::                                      -";
				echo "------------------------------------------------------------";
				echo "- [1] - Definir interfaz para MODO PROMISC [$interface1]  ";
				echo "- [2] - Definir interfaz para MODO DEFAULT [$interface1]  ";
				echo "- [0] - Atras                                             ";
				echo "------------------------------------------------------------";

				read -p "- Opcion :" opcion2;

			    	case $opcion2 in
				#;
				0) 	
					break;
					clear;
				;;

				#;
				1) 
					clear;
					echo "--------------------------------------";
					echo ":: ESTABLECE MODO PROMISCUO         ::";
					echo "--------------------------------------";
					echo "- LISTADO DE INTERFACES DISPONIBLES  :";
					echo "--------------------------------------";
					ip link show | sed '/link/d' | cut -d ":" -f 2 | sed 's/^ *//' | sed 's/^/* /';
					echo "--------------------------------------";
					read -p "- Nombre de interface? :" interface1;
					sudo ifconfig $interface1 down;
					sudo ifconfig $interface1 promisc;
					sudo ifconfig $interface1 up;
					clear;
					echo ":: VERIFICA QUE EL ESTADO ES PROMISC ::";
					echo "-----------------------------------";
					sudo ifconfig $interface1;
					read -p ":: Presiona enter para continuar... ::" nulo;
					break;
				;;

				#;
				2) 
					echo ":: RESTABLECE MODO POR DEFECTO ::";
					read -p " - Nombre de interface :" interface1;
					sudo ifconfig $interface1 down;
					sudo ifconfig $interface1 -promisc;
					sudo ifconfig $interface1 up;
					clear;
					echo ":: VERIFICA QUE ESTA POR DEFECTO ::";
					echo "-----------------------------------";
					sudo ifconfig $interface1;
					read -p ":: Presiona enter para continuar... ::" nulo; 
				;;

				#;

			    esac 
			done
		  
        ;;

	#;
        2) 
			while [ opcion3 != "0" ] 
			do
				clear
				echo "------------------------------------------------------------";
				echo "- :: MENU WIFI     ::                                      -";
				echo "------------------------------------------------------------";
				echo "- [1] - Definir interfaz para MODO MONITOR [$interface2]  ";
				echo "- [2] - Definir interfaz para MODO MANAGED [$interface2]  ";
				echo "- [0] - Atras                                             ";
				echo "------------------------------------------------------------";

				read -p "- Opcion :" opcion3;

			    	case $opcion3 in
				#;
				0) 	
					break;
					clear;
				;;

				#;
				1) 
					clear;
					echo "--------------------------------------";
					echo ":: ESTABLECE MODO MONITOR           ::";
					echo "--------------------------------------";
					echo "- LISTADO DE INTERFACES DISPONIBLES  :";
					echo "--------------------------------------";
					ip link show | sed '/link/d' | cut -d ":" -f 2 | sed 's/^ *//' | sed 's/^/* /';
					echo "--------------------------------------";
					read -p "- Nombre de interface WIFI? :" interface2;
					sudo iwconfig $interface2 down;
					sudo iwconfig $interface2 mode monitor;
					sudo iwconfig $interface2 up;
					clear;
					echo ":: VERIFICA QUE EL ESTADO ES MONITOR ::";
					echo "-----------------------------------";
					sudo iwconfig $interface2;
					read -p ":: Presiona enter para continuar... ::" nulo;
					break;
				;;

				#;
				2) 
					echo ":: RESTABLECE MODO POR DEFECTO ::";
					read -p " - Nombre de interface :" interface2;
					sudo iwconfig $interface2 down;
					sudo iwconfig $interface2 mode managed;
					sudo iwconfig $interface2 up;
					clear;
					echo ":: VERIFICA QUE ESTA POR DEFECTO ::";
					echo "-----------------------------------";
					sudo iwconfig $interface2;
					read -p ":: Presiona enter para continuar... ::" nulo; 
				;;

				#;

			    esac 
			done
		  

	;;

    esac 
done
exit 0


