Introducción a bash -paso5- sed, awk, wc

[h]Introducción a bash : paso 5[/h]

https://www.wifi-libre.com/img/members/3/bash5_1.png

Recordatorio de los dos capítulos anteriores:

  • En nuestro primer curso ( Introducción a bash - paso 1: Bases, echo y “Hola mundo”) hemos visto;
    [list=*]
    ]Lo que es bash (el interprete de ordenes de las distribuciones GNU-Linux)/]
    ]Como redactar un script bash (un simple fichero de texto que se distingue por su primera liña, la famosa “bang-line!” : #!/bin/bash/]
    ]Como ejecutar un script bash (nos situamos en el directorio con nuestra consola y invocamos bash + el nombre del script)/]
    ]Hemos hecho nuestro pirmer script con el orden “echo” (que sirve para escribir en consola/]
    [/list]

  • En nuestro segundo curso Introducción bash, paso 2 : variables, expresion regular (grep) y pipe hemos visto:
    [list=]
    ]Lo que es una* variable** (ejemplo del cajón), como declarar la (<nombre_de_la_variable=valor_de_la_variable>) y como usar la ( con el simbolo $ para ver su valor) /
    ]
    ]Lo que es una **expresión regular **(una cadena cualquiera que definimos) y a que sirve (se usa para buscar coincidencias)/]
    ]Como usar básicamente el comando grep que permite definir y “jugar” con expresiones regulares/]
    ]El comando “cut” que nos permite recortar texto/]
    ]El* pipe** (“|”) que encadena dos comandos mandando el resultado del primero comando (su stdout) al segundo comando /*]
    [/list]

  • En nuestro tercero curso Introducción a bash -paso3- fichero de transición, cat, tee y read hemos visto:
    [list=*]
    ]La técnica del fichero de transición que consiste en guardar la salida de nuestras consolas para usarla posteriormente/]
    ]El comando “cat” que nos permite abrir un fichero de texto/]
    ]El comando “tee” que nos permite duplicar la salida de nuestra consola para guardar la en un fichero de texto /]
    ]El comando “read” que nos permite leer lo que entra el usuario en consola/]
    [/list]

  • En nuestro cuarto curso Introducción a bash -paso4- Condiciones “if-elif-else-fi” hemos visto:
    [list=*]
    ]Que es y como redactar una condición univoca simple “if-then-fi” ( si nuestra condición se cumple entonces se ejecuten ciertas ordenes) /]
    ]Los operadores lógicos sobre cadenas para redactar nuestras condiciones ( = condición se ejecuta si las expresiones son iguales; =! se jecuta sin son diferentes; -z se ejecuta si la cadena es vacila, -n si la cadena es nula )/]
    ]Las condiciones if-then-else-fi - Si (if) mi condición se cumple Entonces (then) se ejecutan ciertas ordenes; De lo contrario (else) se ejecutan otras ordenes (/]
    ]Por ultimo las condiciones múltiples" if-elif-else-fi" ( if - condición1 → orenes1 elif - condicón2 → ordenes2 elif condición 3 > orenes 3 etc…) /]
    ]De paso hemos conocido al comando whoami que pone en consola el nombre de usuario en acción, y el comando exit que nos permite salir de un script /]
    [/list]

    Habíamos acabado nuestro cuarto curso redactando una condición de control para poner en inicio de un script dedicado a pixie dust

#!/bin/bash if "$(whoami)" != 'root' ] # Abrimos nuestra condición con "if" . Nuestra condición verifica que el resultado de whoami sea diferente de "root" then # si es asi es que no podremos ejecutar reaver o pasar el mode monitor echo " This script requires root privileges Please run it with sudo ( sudo bash script.sh ) " # con "echo" escribimos en consola une mensaje de advertencia exit 1 # salimos en "estado de error" (1) elif "$(ls /usr/local/bin/pixiewps)" != '/usr/local/bin/pixiewps' ] # segunda condición a verifcar : la presencia de pixiewps en usr/local/bin then echo " This script requires pixiedust Please download and install pixiedust " # advertencia y exit 1 # salida en estado en error elif "$(ls /usr/local/bin/reaver)" != '/usr/local/bin/reaver' ] || "$(ls /usr/local/bin/pixiewps)" != '/usr/local/bin/pixiewps' ] # tercera condicion si no tenemos reaver o buly no podremos hacer el attaque asi que avortamos la misión then echo " This script requires a modified version of reaver or bully Please download or install one of this tool " exit 1 # salida en estado en error else # usamos else para escribir un mensage de exito (inecesario pero para hacer un bucle con todos los argumentos echo " It seems that your sytem is prepared for pixiedust atack :) Good luck!" fi # la necesaría instrucción de cierre "fi" que indica el "fi"nal de nuestra condición echo " Script under construction... See you in next chapter at www.wifi-libre.com" exit 0

Hoy seguiremos adelantando interesando nos a la selección de interfaz que vendría lógicamente en inicio de script.
Veremos para lograr un buen código como usar las condiciones vistas en el capitulo anterior y nos ayudaremos con nuevos comandos : awk, sed y la utilización de &&

Lo primero es hacer un plan de ataque.... el curso empieza en le post que sigue