raspberry pi

Raspberry Pi 3 BでBUFFALO WI-U2-433DM/NをMonitorモードで使う

Raspberry Pi 3 BでBUFFALO WI-U2-433DM/NをMonitorモードで使うための手順を紹介します。

*モニターモードは自宅でのみ使用してください。

環境

raspberry pi os lite(64bit)

pi@raspberrypi2:~$ uname -a
Linux raspberrypi2 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux

インストール手順

SDカードにOSを書き込み、起動後。以下をインストール。

sudo apt update
sudo apt install git
sudo apt install dkms
git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au/

cloneしたリポジトリに入り、設定をraspberry pi 64bit用に変更。32bitだと別の設定になります。

sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
sed -i 's/CONFIG_PLATFORM_ARM64_RPI = n/CONFIG_PLATFORM_ARM64_RPI = y/g' Makefile
export ARCH=arm64
sed -i 's/^MAKE="/MAKE="ARCH=arm64\ /' dkms.conf

ここまででインストールしようとすると、kernel headerが見つからないエラーが出ます。そのため、kernel headerをインストール。

sudo apt install raspberrypi-kernel-headers

*次の項目は、実際にやらなくてよいです。困った際は、以下の手順を実行してみてください。


kernel headerがない状態でインストールすると以下のようになる。

pi@raspberrypi2:~/rtl8812au$ sudo make dkms_install

dkms build -m 8812au -v 5.6.4.2_35491.20191025
Error! Your kernel headers for kernel 5.15.84-v8+ cannot be found.
Please install the linux-headers-5.15.84-v8+ package,
or use the --kernelsourcedir option to tell DKMS where it's located
make: *** [Makefile:1790: dkms_install] Error 1

そのため、kernel headerをインストールします。

sudo apt install raspberrypi-kernel-headers

再度インストール。途中でdkms_installを実行した場合、すでにあるといわれます。

pi@raspberrypi2:~/rtl8812au$ sudo make dkms_install

cp -r * /usr/src/8812au-5.6.4.2_35491.20191025
dkms add -m 8812au -v 5.6.4.2_35491.20191025
Error! DKMS tree already contains: 8812au-5.6.4.2_35491.20191025
You cannot add the same module/version combo more than once.
make: *** [Makefile:1789: dkms_install] Error 3

dkms_removeを実行します。

pi@raspberrypi2:~/rtl8812au$ sudo make dkms_remove

これでインストールできるようになります。


sudo make dkms_install

これで、ドライバのインストールが完了しました。
再起動すると設定が反映されます。

sudo reboot

次に、monitorモードを使えるようにします。

sudo apt-get install aircrack-ng
sudo airmon-ng check kill
sudo airmon-ng start wlan1
pi@raspberrypi2:~$ iwconfig                  
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=31 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          
wlan1     unassociated  ESSID:""  Nickname:"<WIFI@REALTEK>"
          Mode:Monitor  Frequency=2.457 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=0/100  Signal level=0 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

monitorモードで監視してみる。

sudo airodump-ng wlan1

元に戻す手順は以下です。

sudo airmon-ng stop wlan1

pi@raspberrypi2:~$ iwconfig                 
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=31 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          
wlan1     IEEE 802.11AC  ESSID:"Buffalo-A-D6A0"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:5.64 GHz  Access Point: 58:27:8C:AE:D6:A4   
          Bit Rate:434 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=90/100  Signal level=-14 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

sudo systemctl restart NetworkManager