Włącz tryb monitorowania w kluczu USB RTL8188CUS realtek wifi

15

Próbuję włączyć tryb monitorowania w kluczu RTL8188CUS podłączonym do interfejsu RaspberryPI.

To jest błąd, który pojawia się, gdy próbuję zmienić tryb:

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

Moje pytania:

  1. Komentarz na tym blogu mówi, że RTL8188CUS nie zezwala na tryb monitora. Jak mogę się upewnić, że następny tani klucz Wi-Fi kupiony za RPI będzie działał w trybie monitorowania?

  2. Czy jest jakiś sposób, aby RTL8188CUS działał na RPI?

  3. Czy mogę sniffować żądania sondujące przychodzące do Wi-Fi raspberryPI (korzystam z hostapd ) bez włączania trybu monitorowania?

Detale:

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

I

pi@raspberrypi ~ $ lsusb
Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
zengr
źródło
Właśnie natrafiłem na ten problem, ale chcę dodać, że przetestowałem ten klucz sprzętowy na moim komputerze z pełną wersją Kali i zadziałał on od razu po wyjęciu z pudełka. Z jakiegoś powodu to jednak nie działa na pi.
sttaq,

Odpowiedzi:

1

Oprócz powyższej odpowiedzi @ zengr, dla tych, którzy Device or resource busynapotykają na używanie tego klucza Ralink RT5370, tj .:

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

PCMIIW nie ma ogólnego sposobu, aby dowiedzieć się, który proces korzysta z urządzenia wlan0, ale są szanse 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
źródło
0

Możesz dowiedzieć się, które funkcje są obsługiwane, przeglądając http://wireless.kernel.org/en/users/Drivers/ . Moim ulubionym jest ath9k_htc (dla USB), ponieważ pracuję głównie w trybie IBSS (czasami także z szyfrowaniem WPA2).

Oczywiście, jak widzisz, informacje te nie zawsze są aktualne.

Kibic
źródło
0

Na GitHub jest projekt, który rozwiązuje ten problem bez ponownej kompilacji jądra, https://github.com/TheN00bBuilder/rtl8188monitor

Z pliku Readme

  1. Sprawdź katalog ze sterownikami RTL8192CU, wpisując go sudo ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek.
    • Jeśli powróci z błędem lub nie może znaleźć sterownika (i nie powinien), musisz zainstalować sterowniki, które umieściłem w GitHub i postępować zgodnie z instrukcjami pod tym linkiem. https://github.com/TheN00bBuilder/rtl8192drivers
  2. Wpisz sudo modprobe rtl8192cu, aby włączyć odpowiednie sterowniki, na wypadek, gdyby używały niewłaściwych.
  3. Wpisz polecenie ifconfig, aby wyświetlić listę kart bezprzewodowych.
    • Zwróć uwagę, w którym adapter Realtek jest włączony.
  4. Wpisz sudo iw $WLAN interface add mon0 type monitor(gdzie $WLANjest interfejs z poprzedniego kroku), aby dodać funkcję trybu monitorowania do adaptera.
    • Nie wpisuj pahrenthesis.
  5. Spróbuj uruchomić tryb monitorowania przez airmon-ng za pomocą polecenia sudo airmon-ng start (wlan adaptera Realtek).
    • Jeśli się nie powiedzie z ustawieniem błędu kanału: polecenie nie powiodło się: urządzenie lub zasób zajęty (-16), a następnie uruchom sudo airmon-ng check kill i spróbuj ponownie.

Otóż ​​to! Twój RTL8188CUS powinien teraz działać w trybie monitorowania.

rjkilpatrick
źródło
0

Kilka lat później rozwój trwał. Oto kilka aktualnych odpowiedzi na stare pytania:

  1. Komentarz na tym blogu mówi, że RTL8188CUS nie zezwala na tryb monitorowania. Jak mogę się upewnić, że następny tani klucz Wi-Fi kupiony za RPI będzie działał w trybie monitorowania?

Z iw listWas może dostać coś takiego od mojego USB / WiFi dongle:

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

Jak widać tutaj, wymieniono monitor trybu . Możesz więc mieć pewność, że twój klucz sprzętowy obsługuje ten tryb, w przeciwnym razie nie będzie.

  1. Czy jest jakiś sposób, aby RTL8188CUS działał na RPI?

Istnieje projekt o nazwie nexmon, który przedstawia sterownik do używania trybu monitorowania na wbudowanym urządzeniu WiFi Raspberry Pi. Nie wiem, czy obsługuje także RTL8188CUS, ale korzystanie z wbudowanego WiFi może być alternatywą. Spójrz na Nexmon .

  1. Czy mogę sniffować żądania sondujące przychodzące do Wi-Fi raspberryPI (korzystam z hostapd) bez włączania trybu monitorowania?

Nie.

Ingo
źródło
-1

Klucz USB działa dobrze.

To tylko myśl, ale występuje błąd wielkich liter. Powinno być:

sudo iwconfig wlan1 mode Monitor

nie:

sudo iwconfig wlan1 mode monitor

dodaj niewolne oprogramowanie do listy repozytoriów (/etc/apt/sources.list) Zastąpienie squeeze dowolną wersją, której używasz (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

zaktualizuj, zainstaluj i uruchom ponownie (upewnij się, że klucz sprzętowy jest podłączony):

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

Następnie:

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

Wynik:

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

Zobacz tutaj po szczegóły / kod źródłowy / tarBalls:

jmunsch
źródło
To nie działa na RTL8188eu z identyfikatorem urządzenia 0bda:8179.
Colin Dean
Wygląda na to, że lista repozytoriów oprogramowania układowego jest nieaktualna. Gdzie mogę znaleźć zaktualizowane linki?
Brannon
2
@Brannon Zaktualizowałem moją odpowiedź na dole, z linkiem do strony pakietu dla non-free realtek-firmwarerównież rozważyć: github.com/lwfinger/rtl8188eu
jmunsch
Mam dokładnie ten sam identyfikator urządzenia w wyjściu lsusb co twój, wykonałem wszystkie wymienione kroki, skompilowałem sterowniki z linku i nadal widzę błąd, który wystąpił w zengr: „Błąd dla żądania połączenia bezprzewodowego„ Ustaw tryb ”(8B06)”
Alexey
w dół, monitor i w górę, wlan0ale potem ifconfig wlan1. Literówka?
der_michael