ラズパイ3でairodump-ngを動かすのに苦労したからハマった点をメモっときます
airodump-ngとは
airodump-ng [Aircrack-ng]
WiFiクラッキングツールであるaircrack-ngに内包されているパケットキャプチャツールです。
APだけでなく周辺ホストのRSSI(電波強度の指標)まで取得できるので便利。
airodumpをインストールする前に
airodumpを動作させるためには、NICを「モニターモード」にする必要があります。モニターモードというのはIEEE802.11に準拠したNICの7つある動作モードの一つであり、以下のような特徴があります。
- WNIC(wireless network interface、つまりwifiのカード)専用モード
- アドホックネットワークやAPに接続することなくパケットをキャプチャできる。
ラズパイのwifiチップセットであるbcm4343xはモニターモードに対応していないため、チップセットのファームウェアにパッチを当てます。そのためのパッチがnexmonというプロジェクトで公開されています。nexmonのパッチを当ててモニターモードを有効化するとsshやpingは通らなくなるため、ディスプレイ等あれば便利です。
インストール
環境
- raspberry pi 3 model B+
- Raspbian GNU/Linux 9.1 (stretch)
- wifiのチップセット:bcm43438
nexmonをインストール
https://github.com/seemoo-lab/nexmon
これのREADMEと以下のハマった点を読みつつやります。引用部はREADMEのインストール手順にある項目から引っ張っています。
なおREADMEのbcm43430a1はbcm43438に読み替えて進めます。
コマンドはほぼ全てrootで実行しないとエラーを吐くので注意します。
Install nexutil: from the root directory of our repository switch to the nexutil folder: cd utilities/nexutil/. Compile and install nexutil: make && make install.
nexutilのmakeをすると「uintなんて型知らんな」的なエラーを吐くのでハマりました。
Build error on Pi3 · Issue #62 · seemoo-lab/nexmon · GitHubで解決しています。
ファイルの先頭付近
// #include
のコメントアウトを外すとうまくいきました。
Optional: remove wpa_supplicant for better control over the WiFi interface: apt-get remove wpasupplicant
wpa_supplicantを使わずにwifiを設定する方法がわからなかったのでこの手順は飛ばしました。
ここを飛ばしてもairodumpはエラーなく起動するので無理にwpa_supplicantを削除する必要はなさそうです。
airodump-ngをインストール
apt-get -y install libssl1.0-dev libnl-3-dev libnl-genl-3-dev ethtool
依存パッケージです。jessieではlibssl-devをインストールすればよかったのですが、stretchではlibssl1.0-devでないとairodumpのビルドに失敗します。
wget http://download.aircrack-ng.org/aircrack-ng-1.2-rc4.tar.gz tar -zxvf aircrack-ng-1.2-rc4.tar.gz cd aircrack-ng-1.2-rc4 sudo make sudo make install sudo airodump-ng-oui-update
aircrackをビルドし、最後にOUIファイルをアップデートします。OUIはMACアドレス前半部にあり、ベンダごとに割り振られる記号です。aircrackを動作させるために必要になります。