Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: moikano→@ en 18 Octubre 2010, 09:16 am



Título: script bash (ubuntu): Parar un proceso sin salir del script (SOLUCIONADO)
Publicado por: moikano→@ en 18 Octubre 2010, 09:16 am
El caso es:
-Empieza un proceso que muestra el resultado a tiempo real por consola.
-El usuario tiene que parar el proceso cuando tenga elegido uno de los datos que se muestran por consola.
-Para el proceso cuando quiera (con un intro mismo) pero no para el script!, es decir no me vale un "exit" y un "break" tampoco porque no estoy utilizando una sentencia de bucle.

Gracias por leer =)


Título: Re: script bash (ubuntu): Parar un proceso sin salir del script
Publicado por: leogtz en 19 Octubre 2010, 01:22 am
Pon el script que has intentado.


Título: Re: script bash (ubuntu): Parar un proceso sin salir del script
Publicado por: moikano→@ en 19 Octubre 2010, 08:47 am
Ok. Se trata de automatizar la ejecución de aircrack, que solo tengas que escribir el interfaz, el canal,... Se que no es muy practico, pero es para familiarizarme con los scripts de linux.

Código
  1. echo $(airodump-ng 'mon')
  2. read -p 'pulsa intro cuado veas una red que quieras'
  3. break

Está puesto "break" para acordarme yo que ahí va la parada, pero esta claro que no funciona.

Sin usar el script esto se cortaria pulsando control+c , pero no se como introducirlo. Gracias de antemano.


Título: Re: script bash (ubuntu): Parar un proceso sin salir del script
Publicado por: moikano→@ en 19 Octubre 2010, 15:29 pm
OK, probando me e dado cuenta de que no es el único error que e encontrado en el script, de echo no me deja entrar ni siquiera en modo monitor. Os dejo el script completo para criticar e rectificar, todo ello será agradecido.

Código
  1. #!/bin/bash
  2. iwconfig
  3. read -p 'introduce el interfaz a usar: ' inter
  4. airmon-ng start 'inter'
  5. read -n 4 -p 'introduce el monitor que utilizaras para cambiar su mac: ' mon
  6. ifconfig 'mon' down
  7. macchanger -m aa:00:aa:00:aa:00 'mon'
  8. airodump-ng 'mon'
  9. echo 'pulsa control+c cuando veas la red'
  10. read -p 'introduce el nombre de la red: ' nom
  11. read -n 17 -p 'introduce la mac: ' mac
  12. read -n 2 -p 'introduce su canal: ' can
  13. airodump-ng -w 'nom' -c 'can' --bssid 'mac' 'mon'


Título: Re: script bash (ubuntu): Parar un proceso sin salir del script
Publicado por: leogtz en 20 Octubre 2010, 01:31 am
Aún con lo que has dicho no te has explicado nada, ¿qué es lo que quieres?

Te voy a poner un script que quiero que pruebes, y trata de explicarte mejor.


Código
  1. #!/usr/bin/bash
  2. trap 'prueba' EXIT;
  3. function prueba()
  4. {
  5. # Cuando se provoca la señal EXIT, el script viene a dar aquí a esta función
  6. # O cuando el usuario provoca un CTRl + C
  7. echo -e "Estoy dentro de la función";
  8. read;
  9. }
  10. read -p "Escriba algo o prueba CTRL + C";
  11. echo -e "Has escrito : ${REPLY}";
  12. exit 0
  13.  


Título: Re: script bash (ubuntu): Parar un proceso sin salir del script
Publicado por: moikano→@ en 20 Octubre 2010, 08:41 am
Le echo un vistazo enseguida.
Según e leido el trap (que es el único parametro que no conozco) se acciona cuando el comando recibe un crt+c o un exit. Creo que es un parche para el problema, pero no lo soluciona del todo, ya que tendria que seguir todo el código del script dentro de la sentencia trap.
De todas formas estoy hablando deprisa porque aún no lo e probado.
Gracias Leo =)


Título: Re: script bash (ubuntu): Parar un proceso sin salir del script
Publicado por: moikano→@ en 28 Octubre 2010, 15:48 pm
Ok si que me sirve el comando trap, lo estuve probando y es lo que necesitaba, gracias Leo y perdona si no me explique bien. =)