Включить режим монитора в USB-ключе RTL8188CUS realtek wifi

15

Я пытаюсь включить режим монитора в ключе RTL8188CUS, подключенном к raspberryPI.

Это ошибка, которую я получаю, когда пытаюсь изменить режим:

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

Мои вопросы:

  1. В комментариях к этому блогу говорится, что RTL8188CUS не поддерживает режим монитора. Как я могу быть уверен, что следующий дешевый ключ Wi-Fi, который я куплю для RPI, будет работать в режиме монитора?

  2. Есть ли способ сделать RTL8188CUS эту работу на RPI?

  3. Могу ли я прослушивать запросы, поступающие на Wi-Fi raspberryPI (я использую hostapd ), не включая режим мониторинга?

Детали:

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

И

pi@raspberrypi ~ $ lsusb
Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
zengr
источник
Я только что столкнулся с этой проблемой, но хочу добавить, что я протестировал этот ключ на своем рабочем столе с полной версией Kali, и он работал прямо из коробки. По некоторым причинам это не работает на пи все же.
sttaq
попробуйте это raspberrypi.stackexchange.com/questions/36747/…
sttaq

Ответы:

10

Не могу решить проблему, я думаю, что чипсет на самом деле не поддерживается.

Заказал Ralink RT5370 от eBay за 5 долларов: Ralink RT5370 на eBay
( работает рабочий режим монитора )

zengr
источник
1
Этот адаптер Wi-Fi работал для вас из коробки на вашем пи или вам пришлось скомпилировать другой драйвер?
Скотт
3
Ralink RT5370 работал из коробки. Далее следуют этой инструкции для подключения: modmypi.com/blog/...
zengr
1

В дополнение к ответу @ zengr выше, для тех, кто сталкивается с Device or resource busyиспользованием этого ключа Ralink RT5370, т.е.

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

PCMIIW не имеет общего способа узнать, какой процесс использует устройство wlan0, но есть вероятность, что это 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
источник
0

Вы можете узнать, какие функции поддерживаются, просмотрев http://wireless.kernel.org/en/users/Drivers/ . Мой личный фаворит - ath9k_htc (для USB), так как я работаю в основном в режиме IBSS (иногда также с шифрованием WPA2).

Конечно, как вы видите, эта информация не всегда актуальна.

болельщик
источник
0

На GitHub есть проект, который решает эту проблему без перекомпиляции ядра, https://github.com/TheN00bBuilder/rtl8188monitor

Из файла

  1. Проверьте каталог с драйверами RTL8192CU в них, набрав sudo ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek.
    • Если он возвращается с ошибкой или не может найти драйвер (и не должен), вам необходимо установить драйверы, которые я установил на GitHub, и следовать руководству по этой ссылке. https://github.com/TheN00bBuilder/rtl8192drivers
  2. Введите sudo modprobe rtl8192cu, чтобы включить правильные драйверы, если они используют неправильные драйверы.
  3. Введите команду ifconfig, чтобы получить список беспроводных адаптеров.
    • Обратите внимание, что Wlan адаптер Realtek включен.
  4. Введите sudo iw $WLAN interface add mon0 type monitor(где $WLANинтерфейс из предыдущего шага), чтобы добавить функцию режима монитора для адаптера.
    • Не вводите парантез.
  5. Попробуйте запустить режим мониторинга через airmon-ng с помощью команды sudo airmon-ng start (wlan из адаптера Realtek).
    • Если происходит сбой при установке параметра Ошибка: команда завершилась неудачно: устройство или ресурс занят (-16), затем выполните команду sudo airmon-ng check kill и попробуйте снова.

Это оно! Теперь ваш RTL8188CUS должен работать в режиме монитора.

rjkilpatrick
источник
0

Спустя несколько лет разработка продолжилась. Вот несколько актуальных ответов на старые вопросы:

  1. В комментариях к этому блогу говорится, что RTL8188CUS не поддерживает режим монитора. Как я могу быть уверен, что следующий дешевый ключ Wi-Fi, который я куплю для RPI, будет работать в режиме монитора?

С помощью iw listмоего USB / wifi ключа вы можете получить что-то подобное:

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

Как вы можете видеть здесь, это режим монитора в списке. Таким образом, вы можете быть уверены, что ваш ключ поддерживает этот режим, иначе он не будет.

  1. Есть ли способ сделать RTL8188CUS эту работу на RPI?

Существует проект под названием nexmon, который представляет драйвер для использования в режиме монитора на встроенном устройстве Raspberry Pi. Я не знаю, поддерживает ли он также RTL8188CUS, но использование встроенного Wi-Fi может быть альтернативой. Посмотри на Nexmon .

  1. Могу ли я прослушивать запросы, поступающие на Wi-Fi raspberryPI (я использую hostapd), не включая режим мониторинга?

Нет.

Инго
источник
-1

USB-ключ работает просто отлично.

Просто мысль, но есть ошибка капитализации. Так должно быть:

sudo iwconfig wlan1 mode Monitor

не:

sudo iwconfig wlan1 mode monitor

добавить несвободные прошивки в список репозиториев (/etc/apt/sources.list). Заменить squeeze на любую версию, которую вы используете (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

обновить, установить и перезагрузить компьютер (убедитесь, что ключ подключен):

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

Потом:

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

Выход:

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

Подробности смотрите здесь / Исходный код / ​​TarBalls:

jmunsch
источник
Это не работает на RTL8188eu с идентификатором устройства 0bda:8179.
Колин Дин
Похоже, что список репозитория прошивки устарел. Где я могу найти обновленные ссылки?
Брэннон
2
@Brannon Я обновил свой ответ внизу, со ссылкой на страницу пакета для несвободных realtek-firmwareтакже рассмотрим: github.com/lwfinger/rtl8188eu
jmunsch
У меня точно такой же deviceid в выводе lsusb, как и у вас, я выполнил все шаги, которые вы упомянули, скомпилировал драйверы по ссылке, и все же я вижу ошибку zengr: «Ошибка беспроводного запроса« Set Mode »(8B06)»
Алексей
Вы вниз, монитор и вверх, wlan0но затем ifconfig wlan1. Опечатка?
der_michael