Activer le mode moniteur dans le dongle USB realtek wifi RTL8188CUS

15

J'essaie d'activer le mode moniteur dans un dongle RTL8188CUS connecté à un raspberryPI.

Voici l'erreur que j'obtiens lorsque j'essaie de changer de mode:

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

Mes questions:

  1. Un commentaire sur ce blog indique que RTL8188CUS n'autorise pas le mode moniteur. Comment puis-je être certain que le prochain dongle wifi bon marché que j'achète pour un RPI fonctionnera en mode moniteur?

  2. Existe-t-il un moyen de faire fonctionner RTL8188CUS sur RPI?

  3. Puis-je renifler des demandes de sonde venant du wifi du raspberryPI (j'utilise hostapd ) sans activer le mode moniteur?

Détails:

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

Et

pi@raspberrypi ~ $ lsusb
Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Zengr
la source
Je viens de rencontrer ce problème, mais je veux juste ajouter que j'ai testé ce dongle sur mon bureau avec la version complète de kali et qu'il a fonctionné tout de suite. Pour une raison quelconque, cela ne fonctionne pas sur le pi.
sttaq

Réponses:

10

Je ne résous pas le problème, je suppose que le chipset n'est pas vraiment pris en charge.

Commandé un Ralink RT5370 sur eBay pour 5 $: Ralink RT5370 sur eBay
( il a un mode moniteur fonctionnel )

Zengr
la source
1
Cet adaptateur wifi a-t-il fini par fonctionner pour vous dès la sortie de la boîte sur votre pi ou avez-vous dû compiler un pilote différent?
Scott
3
Ralink RT5370 a fonctionné hors de la boîte. Suivre cette instruction pour se connecter: modmypi.com/blog/…
zengr
1

En plus de la réponse de @ zengr ci-dessus, pour ceux qui Device or resource busyutilisent ce dongle Ralink RT5370, à savoir:

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

Il n'y a, PCMIIW, aucun moyen générique de savoir quel processus utilise le périphérique wlan0, mais il est probable que ce soit 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
la source
0

Vous pouvez savoir quelles fonctions sont prises en charge en recherchant http://wireless.kernel.org/en/users/Drivers/ . Mon préféré est ath9k_htc (pour USB) car je travaille principalement en mode IBSS (parfois avec le cryptage WPA2 aussi).

Bien sûr, comme vous le voyez, ces informations ne sont pas toujours à jour.

RooTer
la source
0

Il y a un projet sur GitHub qui répond à ce problème sans recompiler le noyau, https://github.com/TheN00bBuilder/rtl8188monitor

Du readme

  1. Vérifiez le répertoire contenant les pilotes RTL8192CU en les tapant sudo ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek.
  2. Tapez sudo modprobe rtl8192cu pour activer les bons pilotes, au cas où ils utiliseraient les mauvais.
  3. Tapez la commande ifconfig pour répertorier vos adaptateurs sans fil.
    • Notez sur quel wlan l'adaptateur Realtek est activé.
  4. Tapez sudo iw $WLAN interface add mon0 type monitor(où se $WLANtrouve l'interface de l'étape précédente) pour ajouter une fonction de mode moniteur à l'adaptateur.
    • Ne tapez pas le pahrenthesis.
  5. Essayez de démarrer le mode moniteur via airmon-ng avec la commande sudo airmon-ng start (wlan de l'adaptateur Realtek).
    • S'il échoue avec Erreur lors de la définition du canal: la commande a échoué: périphérique ou ressource occupé (-16), exécutez sudo airmon-ng check kill et réessayez.

C'est ça! Votre RTL8188CUS devrait maintenant fonctionner en mode moniteur.

rjkilpatrick
la source
0

Quelques années plus tard, le développement a continué. Voici quelques réponses à jour aux anciennes questions:

  1. Un commentaire sur ce blog indique que RTL8188CUS n'autorise pas le mode moniteur. Comment puis-je être certain que le prochain dongle wifi bon marché que j'achète pour un RPI fonctionnera en mode moniteur?

Avec iw listvous, vous pouvez obtenir quelque chose comme ça de mon dongle USB / wifi:

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

Comme vous pouvez le voir ici, le moniteur de mode est répertorié. Vous pouvez donc être certain que votre dongle prend en charge ce mode, sinon il ne le sera pas.

  1. Existe-t-il un moyen de faire fonctionner RTL8188CUS sur RPI?

Il existe un projet appelé nexmon qui présente un pilote pour utiliser le mode moniteur sur le périphérique WiFi intégré du Raspberry Pi. Je ne sais pas s'il prend également en charge RTL8188CUS, mais l'utilisation du WiFi à bord peut être une alternative. Regardez Nexmon .

  1. Puis-je renifler des requêtes de sonde venant du wifi du raspberryPI (j'exécute hostapd) sans activer le mode moniteur?

Non.

Ingo
la source
-1

Le dongle USB fonctionne très bien.

Juste une pensée, mais il y a une erreur de capitalisation. Ça devrait être:

sudo iwconfig wlan1 mode Monitor

ne pas:

sudo iwconfig wlan1 mode monitor

ajouter un micrologiciel non libre à la liste des référentiels (/etc/apt/sources.list) Remplacer squeeze par la version que vous utilisez (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

mettre à jour et installer et redémarrer (assurez-vous que le dongle est branché):

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

Alors:

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

Production:

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

Voir ici pour plus de détails / code source / TarBalls:

jmunsch
la source
Cela ne fonctionne pas sur un RTL8188eu avec l'ID de périphérique 0bda:8179.
Colin Dean
Il semble que la liste des référentiels de micrologiciels soit obsolète. Où puis-je trouver les liens mis à jour?
Brannon
2
@Brannon J'ai mis à jour ma réponse en bas, avec un lien vers la page du package pour les non-libres realtek-firmwareégalement considérer: github.com/lwfinger/rtl8188eu
jmunsch
J'ai exactement le même ID d'appareil dans la sortie lsusb que le vôtre, j'ai fait toutes les étapes que vous avez mentionnées, compilé les pilotes à partir du lien et je vois toujours l'erreur zengr rencontrée: "Erreur pour la demande sans fil" Set Mode "(8B06)"
Alexey
vous descendez, surveillez et montez wlan0mais ensuite ifconfig wlan1. Faute de frappe?
der_michael