Raspberry Pi 3 でWi-Fiパケットキャプチャをしてみました。
nexmonを使うとオンボードのWi-Fiチップを使ってキャプチャが出来ます。
nexmon とは
- nexmonはBroadcomのWi-Fiチップのファームウェアにモニタモードの機能を付加するためのパッチ作成のフレームワークです。
- 最初はNexus5向けに開発されましたが、現在はRaspberry Pi 3 と Raspberry Pi ZERO Wに搭載のBCM43438でも利用できます。
- https://github.com/seemoo-lab/nexmon
インストール
-
nexmon 導入済みのKali Linux のイメージがあるのでそれを使いました。
-
https://build.nethunter.com/nexmon-pi-builds/ からイメージをダウンロードしました。
-
自前でイメージをビルドしたい人は https://github.com/offensive-security/kali-arm-build-scripts を使ってください。
-
イメージをSDカードに書き込んで起動します。
-
Kali Linuxのデフォルトパスワードは
-
user : root
-
password : toor
-
キャプチャしたパケットをWi-Fiのフレーム単位で表示をしたいので tsharkをapt-getでインストールする。
#apt-get instal tshark
操作例
- モニタモードを有効にする。 (radio tap header無しの場合は1、有りの場合は2をしているする。)
# nexutil -m1
- channel を設定する。
# iw dev wlan0 set channel 6
tshakでフレームをダンプする。
# tshark -i wlan0
宛先がブロードキャストのパケットを表示しないようにする場合
# tshark -i wlan0 -Y "wlan.da != ff:ff:ff:ff:ff:ff"
特定のAPとSTA間のeapolフレームを表示する。
# tshark -i wlan0 -Y "eapol && (wlan.da == APのMAC ||wlan.da == STAのMAC)" -V
Actionフレームを表示する。
# tshark -i wlan0 -Y "(wlan.fc.type == 0)&&(wlan.fc.type_subtype == 0x0d)" -V
airodump-ngでBSSの情報を見る。
# airodump-ng wlan0
kali linuxはその他にも下記のツールがインストール済みです。
airbase-ng aireplay-ng airolib-ng
aircrack-ng airmon-ng airserv-ng
airdecap-ng airodump-ng airtun-ng
airdecloak-ng airodump-ng-oui-update
Wi-Fiが調子悪くなった時
- Wi-Fiドライバをリロードしましょう
# modprobe -r brcmfmac
# modprobe brcmfmac