Ejecutando airodump-ng desde el script

0

Estoy tratando de escribir un script que ejecute airodump-ng. Yo uso el comando:

timeout -sHUP 1m airodump-ng -d MYBSSID -w wpahandshake wlan0mon

cuando lo ejecuto desde la línea de comandos funciona, pero cuando lo ejecuto desde un script, crea un archivo .cap vacío. ¿Alguien tiene una explicación de por qué y una solución?

    
pregunta Jonathan 17.09.2017 - 21:10
fuente

1 respuesta

1

Este es un error que existe en airodump-ng 1.2 rc4 (Lanzamiento el 14 de febrero de 2016) para airodump-ng 1.2 (Lanzamiento el 15 de abril de 2018).

Pero en 18 de abril de 2018, el usuario de GitHub Mister-X solucionó el problema. Consulte el commit .

En src/airodump-ng.c con el error, utilizará input_thread() para crear un subproceso independientemente de si el proceso de airodump-ng se ejecuta en primer plano o en segundo plano.

El input_thread() llamará a mygetch() . Y el mygetch() llamará a getchar() . Por lo tanto, el proceso de airodump-ng leerá la entrada estándar cuando se ejecute en segundo plano.

En Linux, si un proceso lee la entrada estándar cuando se ejecuta en segundo plano, se detendrá. Y ejecutar timeout sin la opción --foreground permitirá que COMMAND , aquí está airodump-ng, se ejecute en segundo plano. Por lo tanto, en esta situación, airodump-ng se detendrá y creará un archivo .cap vacío (preguntado por usted).

Hay dos líneas de pensamiento para resolver tu problema:

  1. Deje que airodump-ng se ejecute en primer plano utilizando la opción --foreground de timeout o ejecutando source <your_orignal_script.sh> .

  2. No permita que airodump-ng lea la entrada estándar cuando se ejecuta en segundo plano redirigiendo la entrada estándar a / dev / null, timeout -sHUP 1m airodump-ng -d MYBSSID -w wpahandshake wlan0mon < /dev/null o descargando el código fuente más reciente sin el error de GitHub, luego compile e instale.

respondido por el SanXell 08.05.2018 - 10:39
fuente

Lea otras preguntas en las etiquetas