電気ひつじ牧場

技術メモ

raspberry pi3でairodump-ngを動かすまで

ラズパイ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のパッチを当ててモニターモードを有効化するとsshpingは通らなくなるため、ディスプレイ等あれば便利です。

インストール

環境
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を動作させるために必要になります。

動作確認
nexutil -m2
iwconfig

内蔵wifi(大抵はwlan0)のModeがMonitorになっていると正しく動作しています。