?>/script>'; } ?> Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless Widgets Magazine

Autor Tema: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless  (Leído 33898 veces)

0 Usuarios y 1 Visitante están viendo este tema.

supremo12345

  • Visitante
Hola,
Existe un pequeño bug en los drivers compat-wireless con algunos drivers (con el driver b43 por ejemplo, que es mi caso, ocurre) que hace que cada vez que lanzas airodump en un canal concreto te pone error explicando que el canal activo es -1 (error).

La forma de solucionar esto es editando el archivo que se encuentra en:

compat-wireless/net/wireless/chan.c

Y COMPILANDO DESPUES.

Despues de mucho buscar por internet, no encontre ningun parche generico para todas las versiones compat-wireless. Asique, edite la funcion de chan.c a mano, para aplicar a saco los cambios. La funcion de chan.c es cfg80211_set_freq, y debe quedar asi (podeis copiar y pegar sustituyendo la funcion antigua por esta, y ya funcionara):
Código: [Seleccionar]
int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
      struct wireless_dev *wdev, int freq,
      enum nl80211_channel_type channel_type)
{
struct ieee80211_channel *chan;
struct wireless_dev *mon_dev = NULL;
int result;

if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) {
mon_dev = wdev;
  wdev = NULL;
}

if (wdev) {
ASSERT_WDEV_LOCK(wdev);

if (!netif_running(wdev->netdev))
return -ENETDOWN;
}



if (!rdev->ops->set_channel)
return -EOPNOTSUPP;

chan = rdev_freq_to_chan(rdev, freq, channel_type);
if (!chan)
return -EINVAL;

/* Both channels should be able to initiate communication */
if (wdev && (wdev->iftype == NL80211_IFTYPE_ADHOC ||
     wdev->iftype == NL80211_IFTYPE_AP ||
     wdev->iftype == NL80211_IFTYPE_AP_VLAN ||
     wdev->iftype == NL80211_IFTYPE_MESH_POINT ||
     wdev->iftype == NL80211_IFTYPE_P2P_GO)) {
switch (channel_type) {
case NL80211_CHAN_HT40PLUS:
case NL80211_CHAN_HT40MINUS:
if (!can_beacon_sec_chan(&rdev->wiphy, chan,
channel_type)) {
printk(KERN_DEBUG
       "cfg80211: Secondary channel not "
       "allowed to initiate communication\n");
return -EINVAL;
}
break;
default:
break;
}
}

result = rdev->ops->set_channel(&rdev->wiphy,
wdev ? wdev->netdev : NULL,
chan, channel_type);
if (result)
return result;

if (wdev)
wdev->channel = chan;

if (mon_dev)
mon_dev->channel = chan;

return 0;
}


Espero sirva de ayuda,
saludos

Desconectado USUARIONUEVO

  • Colaborador
  • *
  • Mensajes: 15985
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #1 en: 08-05-2011, 04:43 (Domingo) »
creo que lo que pasa es que no le habeis aplicado antes el parche de aircrack.

fixed-negative.channel

hay dos parches de aircrack ,que son imprescindibles.

uno ese que pongo del neagtive 1 , y el otro el de fragmentacion ,esos dos son obligatorios.

solo pretendo añadir informacion
aqui sitio oficial de los parches de aircarck-ng

http://patches.aircrack-ng.org/

este es el que fija el negative one  usease el -1
http://patches.aircrack-ng.org/channel-negative-one-maxim.patch

este otro el de fragmentacion (no recuerdo si es este exactamente)

http://patches.aircrack-ng.org/mac80211_2.6.27_frag+ack_v2.patch

si os fijais en el listado vereis que los hay de todos los colores.
los drivers se parchan lo primero

patch -Np0 -i parche.patch

el 0 puede variar a 1 u 2 Np1 Np2 dependiendo de la profuncidad en directorias a la que este el archivo que pretende parchear.

para auditorias y modo monitor los drivers compat-wireless siempre siempre se parchean antes.

despues

make
make install.

puede que yo haya entendido mal..peo si es por lo del dichoso negative 1 .. .entonces no me equivoco,.

supremo12345

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #2 en: 08-05-2011, 14:54 (Domingo) »

creo que lo que pasa es que no le habeis aplicado antes el parche de aircrack.

fixed-negative.channel

hay dos parches de aircrack ,que son imprescindibles.

uno ese que pongo del neagtive 1 , y el otro el de fragmentacion ,esos dos son obligatorios.

solo pretendo añadir informacion
aqui sitio oficial de los parches de aircarck-ng

http://patches.aircrack-ng.org/

este es el que fija el negative one  usease el -1
http://patches.aircrack-ng.org/channel-negative-one-maxim.patch

este otro el de fragmentacion (no recuerdo si es este exactamente)

http://patches.aircrack-ng.org/mac80211_2.6.27_frag+ack_v2.patch

si os fijais en el listado vereis que los hay de todos los colores.
los drivers se parchan lo primero

patch -Np0 -i parche.patch

el 0 puede variar a 1 u 2 Np1 Np2 dependiendo de la profuncidad en directorias a la que este el archivo que pretende parchear.

para auditorias y modo monitor los drivers compat-wireless siempre siempre se parchean antes.

despues

make
make install.

puede que yo haya entendido mal..peo si es por lo del dichoso negative 1 .. .entonces no me equivoco,.

Como he dixo ya, esos parches no son genericos. Hay infinitas versiones de drivers compat wireless (los mas usados) y en cuanto el archivo chan.c cambie un minimo el parche ya no sirve. Por eso la forma 'universal' de parchear el chan.c para evitar el error seria reemplazar la funcion por la que he puesto yo y compilar.

Saludos.

beger

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #3 en: 08-05-2011, 22:23 (Domingo) »
Supremo.. y como lo compilo?

supremo12345

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #4 en: 08-05-2011, 22:55 (Domingo) »
Supremo.. y como lo compilo?

El paquete de drivers compat wireless ya lleva preparado un makefile.

Simplemente te pones en el directorio de compat y ejecutas : make [DESPUES DE HABER EDITADO CHAN.C]

Tambien puedes compilar solamente un driver especifico, tecleando ./scripts/driver-select DRIVER
Y luego hacer make.
Saludos

ito78

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #5 en: 22-05-2011, 22:22 (Domingo) »
Despues de modificar el archivo chan.c me sale esto:

Código: [Seleccionar]
system@SYSTEM:~/compat-wireless-2010-10-16$ make
make -C /lib/modules/2.6.38-8-generic-pae/build M=/home/system/compat-wireless-2010-10-16 modules
make[1]: se ingresa al directorio «/usr/src/linux-headers-2.6.38-8-generic-pae»
  CC [M]  /home/system/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.o
/home/system/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.c: In function ‘rt2x00pci_resume’:
/home/system/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.c:375:6: error: void value not ignored as it ought to be
make[4]: *** [/home/system/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.o] Error 1
make[3]: *** [/home/system/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00] Error 2
make[2]: *** [/home/system/compat-wireless-2010-10-16/drivers/net/wireless] Error 2
make[1]: *** [_module_/home/system/compat-wireless-2010-10-16] Error 2
make[1]: se sale del directorio «/usr/src/linux-headers-2.6.38-8-generic-pae»
make: *** [modules] Error 2

Antes tenia instalado ubuntu 10.10 y tenia el mismo problema, y lo solucioné con :

Código: [Seleccionar]
wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2010-10-16.tar.bz2
tar -jxf compat-wireless-2010-10-16.tar.bz2
cd compat-wireless-2010-10-16
wget http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
patch -p1 < mac80211.compat08082009.wl_frag+ack_v1.patch
wget http://patches.aircrack-ng.org/channel-negative-one-maxim.patch
patch ./net/wireless/chan.c channel-negative-one-maxim.patch
gedit scripts/update-initramfs
#*** FIND LINE 13: KLIB=/lib/modules/2.6.31-wl/build
#*** REPLACE WITH: KLIB=/lib/modules/$(uname -r)/build
make
sudo make install
sudo make unload
sudo reboot

pero al pasarme a ubuntu 11.04.........  no hay manera

alguna idea ?

supremo12345

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #6 en: 22-05-2011, 23:47 (Domingo) »
Creo que tu problema es el siguiente;

Ubuntu 10.10 y 11.04 tienen distintas versiones de kernel, asique te tienes que bajar el compat wireless siguiente, para la version 11.04:

http://www.orbit-lab.org/kernel/compat-wireless-2.6-stable/v2.6.38/compat-wireless-2.6.38.2-2.tar.bz2


Si modificas el chan.c en esa version, no tendrias que tener problemas al compilar. Porque yo lo hize asi en mi ubuntu 11.04 y no tuve ningun problema. Ademas justo compile la misma version de driver que tu, el rt2x00

ito78

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #7 en: 23-05-2011, 22:06 (Lunes) »
Creo que tu problema es el siguiente;

Ubuntu 10.10 y 11.04 tienen distintas versiones de kernel, asique te tienes que bajar el compat wireless siguiente, para la version 11.04:

http://www.orbit-lab.org/kernel/compat-wireless-2.6-stable/v2.6.38/compat-wireless-2.6.38.2-2.tar.bz2


Si modificas el chan.c en esa version, no tendrias que tener problemas al compilar. Porque yo lo hize asi en mi ubuntu 11.04 y no tuve ningun problema. Ademas justo compile la misma version de driver que tu, el rt2x00

SOLUCIONADO !!!!!  Funcionando sin problemas.

Gracias mil

Zubuza

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #8 en: 22-09-2011, 04:52 (Jueves) »
y como lo instalo???

alist3r

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #9 en: 22-09-2011, 05:32 (Jueves) »
y como lo instalo???
si no lo sabes, entonces te queda mucho, mucho, mucho por aprender antes de que puedas aplicar los pasos que has leido en este hilo.

si no sabes aplicar los parches que se necesitan al núcleo de linux, y luego recompilarlo etc, pero quieres que te funcione el maximo numero de adaptadores wireless en modo monitor e inyeccion...

instala backtrack5 en lugar de ubuntu

ithory

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #10 en: 03-01-2012, 01:19 (Martes) »
Hola a todos! yo uso el ubuntu 11.10 y tengo este mismo problema, el caso es que he copiado esto:

Citar
wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2010-10-16.tar.bz2
tar -jxf compat-wireless-2010-10-16.tar.bz2
cd compat-wireless-2010-10-16
wget http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
patch -p1 < mac80211.compat08082009.wl_frag+ack_v1.patch
wget http://patches.aircrack-ng.org/channel-negative-one-maxim.patch
patch ./net/wireless/chan.c channel-negative-one-maxim.patch
gedit scripts/update-initramfs
#*** FIND LINE 13: KLIB=/lib/modules/2.6.31-wl/build
#*** REPLACE WITH: KLIB=/lib/modules/$(uname -r)/build
make
sudo make install
sudo make unload
sudo reboot

Pero me da un error en el make, si me pudiéseis explicar como hacerlo (el make) os lo agradecería. Además puede ser que necesite otro compat-wireless al tener otra versión. Gracias de antemano, os escucho expertos.  ;)

PD: Si me podéis decir los pasos detallados os lo agradecería, ya que llevo unas semanas con el ubuntu y no me entero muy bien aun. Gracias.
« Última modificación: 03-01-2012, 01:22 (Martes) por ithory »

alist3r

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #11 en: 03-01-2012, 01:54 (Martes) »
yo no usaria ubuntu para auditorias wireless.
los novatos se pueden volver locos tratando de preparar el kernel de una ubuntu para que pueda inyectar.

no es mas logico que descargues y pruebes en modo live nuestra distribucion, que ya viene preparada?

que para eso esta. digo yo.

Drexxx

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #12 en: 03-01-2012, 02:06 (Martes) »
Es que supongo que estás utilizando una versión obsoleta de compat-wireless (del 2010) y que los problemas vienen de ahí.
Antes de nada, ¿qué versión del kernel estás usando?
Lo sabrás haciendo lo siguiente en un terminal:
Código: [Seleccionar]
uname -rDependiendo de lo que salga, deberías descargar una versión acorde de compat-wireless de esta página.
También creo recordar que son necesarios los headers del kernel...
Si te manejas con aptitude, o con apt-get puedes probar a instalar el paquete linux-headers-versión_del_kernel
No sé si las versiones nuevas de compat-wireless necesitan los parches siquiera...
¿Alguien lo sabe a ciencia cierta?
En todo caso yo solamente probaría con el channel-negative-one-maxim.patch.
A grandes rasgos... descarga el compat-wireless que necesites.
Descomprímelo.
Entra en el directorio descomprimido.
Copia el parche a ese directorio, y ejecuta
Código: [Seleccionar]
patch ./net/wireless/chan.c channel-negative-one-maxim.patchY luego el resto:
Código: [Seleccionar]
make
sudo make install
sudo make unload
sudo reboot

Desconectado USUARIONUEVO

  • Colaborador
  • *
  • Mensajes: 15985
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #13 en: 03-01-2012, 12:25 (Martes) »
la rama trunk , de compat-wireless, ya no necesita ningun patch.

de hecho los drivers de wifiway 3.0 ya no los parchee de ninugna manera.

alist3r

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #14 en: 03-01-2012, 12:39 (Martes) »
la rama trunk , de compat-wireless, ya no necesita ningun patch.

de hecho los drivers de wifiway 3.0 ya no los parchee de ninugna manera.

CUIDADO porque la documentación de aircrack anda algo obsoleta en estos momentos.

Creo que el señor d'Otreppe no ha tenido tiempo de reflejar los multiples cambios que han tenido lugar en el stack compat-wireless estos dias, pero basicamente se resumen a que solo UN parche aplica correctamente, de los mas de 40 existentes (el parche del driver de los adaptadores zydas). Y los que no aplican, tranquilos, porque ya no hacen falta.

SI no me equivoco, es cuestion de tiempo que, hasta distribuciones tan poco preparadas para auditorias como ubuntu, acaben con un kernel de fábrica capaz de hacer el trabajo correctamente (aún no, en estos momentos en ubuntu 11 no se puede sin meter mano al stack compat-wireless)

mi consejo para novatos es el mismo: OLVIDADLO! usad wifiway 3.0 que para eso la hicimos :D
no compliquemos la vida a la gente recien llegada a linux! los usuarios avanzados, eso ya es otro cantar
« Última modificación: 03-01-2012, 12:42 (Martes) por _alister_ »

ithory

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #15 en: 03-01-2012, 14:28 (Martes) »
Buenas, al parecer mi versión del kernel es la siguiente: 3.0.0-14-generic

En la página esa no encuentro mi versión (3.0.0-14), solo el "compat-wireless-3.0.9-1.tar.bz2", quizás sea esa?

Una pregunta, cuando decís "entra en el directorio descomprimido", que quiere decir? Que me me meta en el directorio desde la consola? y una vez desde ahí sería donde pongo "patch ./net/wireless/chan.c channel-negative-one-maxim.patch"? y después para hacer el make también debo estar en el directorio desde la terminal?

Siento hacer tantas preguntas y ser tan "noob" pero el error este es algo que quiero arreglar, también probare wifiway 3.0. Además me gustaría aprender algo de linux, ya que al año que viene lo doy en la carrera.

Gracias de nuevo.

alist3r

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #16 en: 03-01-2012, 15:39 (Martes) »
quizas no, digamos que no tiene por que haber relacion exacta entre verisones de compat-wireless y del kernel.
cada X versiones de compat-wireless. se hace un volcado y una fusion del código de compat-wireless hacia el interior del codigo del kernel, pero ambos desarrollos van a velocidadesd diferentes por lo que no siempre hay una relacion, asi que no la busques.

para tu caso particuarl, puede que la 3.0.9 pueda aplicarse correctamente contra el kernel 3.0.0, pero cuantos mas numeros de diferencia, menos posibilidades.

los compat-wireless de la rama trunk son los mas nuevos que existen, son la parte beta/inestable/en pleno desarrollo y podrian tener errores graves de un dia para otro, pero por norma general se pueden usar bien. esos deberian compilar bien en tu kernel.
si alguien quiere explicarte como usar un cliente de GIT para conseguir el código fuente de la rama trunk de compat-wireless...
de todos modos está explicado (en ingles) en la misma pagina de compat-wireless

ithory

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #17 en: 03-01-2012, 17:12 (Martes) »
Bueno, al final lo he conseguido arreglar, siguiendo los pasos de Drexxx.

El compat-wireless que utilice fue: compat-wireless-3.0.9-1.tar.bz2

Gracias a todos.

alist3r

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #18 en: 03-01-2012, 17:14 (Martes) »
Bueno, al final lo he conseguido arreglar, siguiendo los pasos de Drexxx.

El compat-wireless que utilice fue: compat-wireless-3.0.9-1.tar.bz2

Gracias a todos.

ves que bien? nada como probarlo uno mismo :)
confirmado pues que compat-wireless 3.0.9 monta bien sobre un kernel 3.0.0

Drexxx

  • Visitante
Re: Parche Fix Channel -1 usando aircrack-ng con driver compat-wireless
« Respuesta #19 en: 03-01-2012, 17:26 (Martes) »
Bien!  >:(