Habilite el modo de monitor en RTL8188CUS realtek wifi USB dongle

15

Estoy tratando de habilitar el modo de monitor en un dongle RTL8188CUS conectado a un raspberryPI.

Este es el error que obtengo cuando intento cambiar el modo:

pi@raspberrypi ~ $ sudo iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.

Mis preguntas:

  1. Un comentario en este blog dice que RTL8188CUS no permite el modo de monitor. ¿Cómo puedo estar seguro de que el próximo dongle wifi barato que compre para un RPI funcionará en modo monitor?

  2. ¿Hay alguna manera de hacer que RTL8188CUS funcione en RPI?

  3. ¿Puedo oler las solicitudes de sondeo que llegan al wifi de raspberryPI (estoy ejecutando hostapd ) sin habilitar el modo de monitor?

Detalles:

pi@raspberrypi ~ $ iwconfig wlan0
wlan0     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency=2.437 GHz  Access Point: Not-Associated
          Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Y

pi@raspberrypi ~ $ lsusb
Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
zengr
fuente
Acabo de encontrarme con este problema, pero solo quiero agregar que probé este dongle en mi escritorio con la versión completa de kali y funcionó de inmediato. Sin embargo, por alguna razón no funciona en el pi.
sttaq

Respuestas:

10

No solucionar el problema, supongo que el chipset no es realmente compatible.

Pedí un Ralink RT5370 de eBay por $ 5: Ralink RT5370 en eBay
( tiene modo de monitor de trabajo )

zengr
fuente
1
¿Ese adaptador wifi terminó funcionando para usted de inmediato en su pi o tuvo que compilar un controlador diferente?
Scott
3
Ralink RT5370 salió de la caja. Seguí estas instrucciones para conectar: modmypi.com/blog/…
zengr
1

Además de la respuesta de @ zengr anterior, para aquellos que se encuentran con el Device or resource busyuso de este dongle Ralink RT5370, es decir:

~ $ sudo iwconfig wlan0 mode Monitor 
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Device or resource busy.

No existe, PCMIIW, una forma genérica de averiguar qué proceso está utilizando el dispositivo wlan0, pero es probable que sea ifplugd:

~ $ service ifplugd status
...
[...] wlan0: ifplugd process for device wlan0 running as pid 1234

~ $ sudo ifplugd -k -i wlan0            # kill ifplugd for wlan0
~ $ sudo ifconfig wlan0 down            # iFconfig 
~ $ sudo iwconfig wlan0 mode Monitor    # iWconfig
~ $ sudo ifconfig wlan0 up
~ $ iwconfig
wlan0     IEEE 802.11bgn  Mode:Monitor  Frequency:2.412 GHz  Tx-Power=20 dBm
      Retry short limit:7   RTS thr:off   Fragment thr:off
      Power Management:off
RolfBly
fuente
0

Puede saber qué funciones son compatibles buscando http://wireless.kernel.org/en/users/Drivers/ . Mi favorito personal es ath9k_htc (para USB) ya que trabajo principalmente en modo IBSS (a veces también con encriptación WPA2).

Por supuesto, como ve, esa información no siempre está actualizada.

Hincha
fuente
0

Hay un proyecto en GitHub que responde a este problema sin volver a compilar el núcleo, https://github.com/TheN00bBuilder/rtl8188monitor

Del archivo Léame

  1. Verifique el directorio con los controladores RTL8192CU escribiendo en ellos escribiendo sudo ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek.
  2. Escriba sudo modprobe rtl8192cu para activar los controladores correctos, en caso de que esté usando los incorrectos.
  3. Escriba el comando ifconfig para enumerar sus adaptadores inalámbricos.
    • Observe en qué wlan está el adaptador Realtek.
  4. Escriba sudo iw $WLAN interface add mon0 type monitor(donde $WLANestá la interfaz del paso anterior) para agregar una función de modo de monitor al adaptador.
    • No escriba la paréntesis.
  5. Intente iniciar el modo monitor a través de airmon-ng con el comando sudo airmon-ng start (wlan del adaptador Realtek).
    • Si falla con Error al establecer el canal: el comando falló: Dispositivo o recurso ocupado (-16), luego ejecute sudo airmon-ng check kill e intente nuevamente.

¡Eso es! Su RTL8188CUS ahora debería funcionar en modo monitor.

rjkilpatrick
fuente
0

Algunos años después, el desarrollo ha continuado. Aquí hay algunas respuestas actualizadas a las viejas preguntas:

  1. Un comentario en este blog dice que RTL8188CUS no permite el modo de monitor. ¿Cómo puedo estar seguro de que el próximo dongle wifi barato que compre para un RPI funcionará en modo monitor?

Con iw listusted puede obtener algo como esto de mi dongle USB / wifi:

rpi ~$ iw list
--- snip ---
Supported interface modes:
     * IBSS
     * managed
     * AP
     * AP/VLAN
     * monitor
     * mesh point
--- snip ---

Como puede ver aquí, aparece el monitor de modo . Por lo tanto, puede estar seguro de que su dongle admite este modo; de lo contrario, no lo hará.

  1. ¿Hay alguna manera de hacer que RTL8188CUS funcione en RPI?

Hay un proyecto llamado nexmon que presenta un controlador para usar el modo monitor en el dispositivo WiFi incorporado Raspberry Pi. No sé si también es compatible con RTL8188CUS, pero el uso de WiFi a bordo puede ser una alternativa. Mira a Nexmon .

  1. ¿Puedo oler las solicitudes de sondeo que llegan al wifi de raspberryPI (estoy ejecutando hostapd) sin habilitar el modo de monitor?

No.

Ingo
fuente
-1

El dongle USB funciona bien.

Solo un pensamiento, pero hay un error de capitalización. Debería ser:

sudo iwconfig wlan1 mode Monitor

no:

sudo iwconfig wlan1 mode monitor

agregue firmware no libre a la lista de repositorios (/etc/apt/sources.list) Reemplazando squeeze por la versión que esté utilizando (wheezy, jessy, sid ...):

echo "deb http://ftp.us.debian.org/debian/ squeeze main non-free" >> /etc/apt/sources.list
echo "deb http://security.debian.org/ squeeze/updates main non-free" >> /etc/apt/sources.list
echo "deb http://ftp.us.debian.org/debian/ squeeze-updates main non-free" >> /etc/apt/sources.list
echo "deb http://backports.debian.org/debian-backports squeeze-backports main non-free" >> /etc/apt/sources.list

actualizar e instalar y reiniciar (asegúrese de que el dongle esté enchufado):

sudo apt-get update
sudo apt-get update && sudo apt-get install firmware-realtek
sudo reboot

Luego:

sudo ifconfig wlan1 down
sudo iwconfig wlan1 mode Monitor
sudo ifconfig wlan1 up

Salida:

jmunsch@NE-522:~$ sudo ifconfig wlan1 up && dmesg | tail -n 4
[883636.004691] rtl8192c_common: Loading firmware file rtlwifi/rtl8192cufw.bin
[883687.033184] rtl8192cu: MAC auto ON okay!
[883687.069050] rtl8192cu: Tx queue select: 0x05
[883687.070067] rtl8192c_common: Loading firmware file rtlwifi/rtl8192cufw.bin

jmunsch@NE-522:~$ lsusb | tail -n 1 && iwconfig wlan1
Bus 002 Device 010: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
wlan1     IEEE 802.11bgn  Mode:Monitor  Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr=2347 B   Fragment thr:off
          Power Management:off

Ver aquí para más detalles / Código fuente / TarBalls:

jmunsch
fuente
Esto no funciona en un RTL8188eu con ID de dispositivo 0bda:8179.
Colin Dean
Parece que la lista de repositorios de firmware no está actualizada. ¿Dónde puedo encontrar los enlaces actualizados?
Brannon
2
@Brannon Actualicé mi respuesta en la parte inferior, con un enlace a la página del paquete para los no gratuitos realtek-firmwaretambién considere: github.com/lwfinger/rtl8188eu
jmunsch
Tengo exactamente el mismo ID de dispositivo en la salida de lsusb que el suyo, hice todos los pasos que mencionó, compilé los controladores desde el enlace y aún veo el error que experimentó zengr: "Error para la solicitud inalámbrica" ​​Modo de configuración "(8B06)"
Alexey
usted abajo, monitor y arriba wlan0pero luego ifconfig wlan1. ¿Error de tipografía?
der_michael