Bueno, primero que nada comienzo relatando mi historia como es costumbre. El día de hoy me decidí a instalar aircrack-ng en linux Mint, distribución que por cierto es muy ligera y estable que está basada en Ubuntu y Debian, la cosa es que por si alguno de ustedes no lo sabe, Canonical decidió por algún motivo no aceptar los repositorios de aircrack ni como software de terceros en el centro de software de Ubuntu así que la instalación se vuelve un poco complicada con respecto a versiones anteriores de ubuntu en donde aircrack si venia en los repos.

Como pueden suponerlo, tube que descargar los fuentes de el sitio oficial de aircrack-ng, lo cual no es nada complicado ya que ahí vienen los pasos bien detallados y de manera precisa, les pego a continuación los comandos de la pagina oficial.


Estos son algunas librerías adicionales requeridas:
  • OpenSSL (libssl-dev en Sistemas base Debian)
  • SQLite > 3.3.17 (Es recomendada la ultima versión) si tu quieres usar Airolib-ng



 wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
 tar -zxvf aircrack-ng-1.1.tar.gz
 cd aircrack-ng-1.1
 make
 make install

Compilando con soporte Airolib-ng

Simplemente anexa el parametro 'sqlite=true' a make y make install:
make sqlite=true
make sqlite=true install


Aquí el primer problema que pudiéramos llegar a tener si usamos Ubuntu 12 o Linux MINT 14 (puede ser que en versiones anteriores también suceda), es que cuando intentamos ejecutar el comando "make" y "make install" nos puede tirar algunos errores con lo cual podemos estar seguros que la instalación no se realizó correctamente.

Estos errores pueden llegar a ser como esto:

# make
make -C src all
make[1]: Entering directory `/root/aircrack-ng-1.1/src'
make -C osdep
make[2]: Entering directory `/root/aircrack-ng-1.1/src/osdep'
Building for Linux
make[3]: Entering directory `/root/aircrack-ng-1.1/src/osdep'
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -fPIC -I..    -c -o osdep.o osdep.c
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -fPIC -I..    -c -o network.o network.c
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -fPIC -I..    -c -o linux.o linux.c
linux.c: In function 'is_ndiswrapper':
linux.c:165:17: warning: variable 'unused' set but not used [-Wunused-but-set-variable]
linux.c: In function 'linux_set_rate':
linux.c:334:22: warning: variable 'unused' set but not used [-Wunused-but-set-variable]
linux.c: In function 'linux_set_channel':
linux.c:807:22: warning: variable 'unused' set but not used [-Wunused-but-set-variable]
linux.c: In function 'linux_set_freq':
linux.c:896:22: warning: variable 'unused' set but not used [-Wunused-but-set-variable]
linux.c: In function 'set_monitor':
linux.c:1022:22: warning: variable 'unused' set but not used [-Wunused-but-set-variable]
linux.c: In function 'do_linux_open':
linux.c:1366:12: warning: variable 'unused_str' set but not used [-Wunused-but-set-variable]
linux.c:1352:15: warning: variable 'unused' set but not used [-Wunused-but-set-variable]
linux.c: In function 'get_battery_state':
linux.c:1982:35: warning: variable 'current' set but not used [-Wunused-but-set-variable]
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -fPIC -I..    -c -o linux_tap.o linux_tap.c
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -fPIC -I..    -c -o radiotap/radiotap-parser.o radiotap/radiotap-parser.c
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -fPIC -I..    -c -o common.o common.c
ar cru libosdep.a  osdep.o network.o linux.o linux_tap.o radiotap/radiotap-parser.o common.o
ranlib libosdep.a 
touch .os.Linux
make[3]: Leaving directory `/root/aircrack-ng-1.1/src/osdep'
make[2]: Leaving directory `/root/aircrack-ng-1.1/src/osdep'
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -Iinclude   -c -o aircrack-ng.o aircrack-ng.c
aircrack-ng.c: In function 'clean_exit':
aircrack-ng.c:235:18: warning: variable 'ap_prv' set but not used [-Wunused-but-set-variable]
aircrack-ng.c: In function 'check_thread':
aircrack-ng.c:2223:20: warning: variable 'k' set but not used [-Wunused-but-set-variable]
aircrack-ng.c: In function 'do_wep_crack1':
aircrack-ng.c:3268:34: warning: variable 'askchange' set but not used [-Wunused-but-set-variable]
aircrack-ng.c: In function 'crack_wpa_thread':
aircrack-ng.c:3852:17: warning: variable 'slen' set but not used [-Wunused-but-set-variable]
aircrack-ng.c:3850:6: warning: variable 'thread' set but not used [-Wunused-but-set-variable]
aircrack-ng.c: In function 'do_wep_crack2':
aircrack-ng.c:3596:16: error: array subscript is below array bounds [-Werror=array-bounds]
aircrack-ng.c: In function 'do_wpa_crack':
aircrack-ng.c:4189:8: error: array subscript is below array bounds [-Werror=array-bounds]
cc1: all warnings being treated as errors

make[1]: *** [aircrack-ng.o] Error 1
make[1]: Leaving directory `/root/aircrack-ng-1.1/src'
make: *** [all] Error 2


No se asusten, lo anterior solo es el log que aparece en la consola cuando falla la instalación.

Ese primer problema sucede porque en el archivo common.mak aproximadamente en la linea 70 hay una linea como esta:

CFLAGS ?= -g -W -Wall -O3 -Werror

Quizá no es exactamente igual, pero el principal problema viene por causa de la instrucción -Werror, así que debemos removerla sin mas preocupaciones para que nos quede algo como esto:

CFLAGS ?= -g -W -Wall -O3

Pero no todo termina ahí  el siguiente error puede ser a causa de no leer las instrucciones correctamente o no hacerles caso, en la guía de instalación de aircrack-ng dice muy claramente que debemos tener instalado el siguiente paquete: openssl-dev o libssl-dev (este casi siempre viene ya instalado).

$ sudo apt-get install libssl-dev

ahora ejecutamos los comandos:

$ sudo make
$ sudo make install

al finalizar ejecutamos el comando recomendado:

$ sudo airodump-ng-oui-update

después de que los comandos anteriores hayan sido exitosos, podemos pasar a la siguiente parte de la guía de instalación que nos pide ejecutar "make sqlite=true", dicho comando puede llegar a fallar si no contamos con la librería necesaria de sqlite3, el error puede ser similar a el siguiente:

"airolib-ng.c:40:21: fatal error: sqlite3.h: No such file or directory"

claro que eso solo es una parte del log extenso que nos tira como error, también cabe destacar que no es simplemente sqlite3 lo que necesitamos sino sqlite3-dev, para arreglarlo podemos ejecutar los siguientes comandos:

$ sudo apt-get install libsqlite3-dev
$ sudo make sqlite=true install

Con eso debemos haber podido arreglar todos los problemas de instalación, y lo que se me hace verdaderamente sorprendente de la ultima versión de aircrack-ng en Linux Mint es que ya no tira el error de banda negativa como lo hacían versiones después de ubuntu 9, con lo cual puedo utilizar el modo monitor sin ningún parche de por medio para que no se ponga a escanear en el canal -1 como lo hacia anteriormente.

Las soluciones a esos problemas las saqué de estos sitios:
http://hi.baidu.com/dunwin/item/66a823389faa2f5e80f1a76f
http://trac.aircrack-ng.org/ticket/885

y aquí esta la guía de instalación oficial:
http://www.aircrack-ng.org/doku.php?id=install_aircrack#installing_aircrack-ng_from_source