airodump-ngとは?
airodump-ngは、有名な無線LANセキュリティ評価ツールスイート Aircrack-ng の一部です。このツールの主な役割は、周辺の無線LAN(Wi-Fi)ネットワークをスキャンし、検出したアクセスポイント(AP)や接続しているクライアント(ステーション)に関する詳細な情報を収集・表示することです。具体的には、802.11規格の生フレーム(パケット)をキャプチャします。
特に、WEP(古い暗号化方式)の初期化ベクトル(IVs)や、より一般的なWPA/WPA2のハンドシェイク情報を収集するのに適しており、これらは後に aircrack-ng
ツールでパスワード解析を試みる際に必要となります。
セキュリティ専門家やネットワーク管理者が、ネットワークのセキュリティ状態を把握したり、脆弱性をテストしたりする目的で広く利用されています。Kali Linuxなどのペネトレーションテスト用Linuxディストリビューションには標準で含まれていることが多いです。
利用前の準備:モニターモードの設定
airodump-ngを効果的に使用するためには、お使いの無線LANアダプタが「モニターモード(Monitor Mode)」に対応している必要があります。モニターモードとは、特定のネットワークに接続していなくても、周辺の全ての無線LANパケットを傍受できる特別な動作モードです。
通常、無線LANアダプタは「マネージドモード(Managed Mode)」で動作しており、自身が接続しているAPとの通信や、自分宛のパケットのみを受信します。airodump-ngは、モニターモードで動作するインターフェースを指定して使用します。
モニターモードへの切り替えには、同じくAircrack-ngスイートに含まれる airmon-ng
スクリプトを使用するのが一般的です。
-
利用可能な無線インターフェースの確認:
まず、システムが認識している無線インターフェース名を確認します。
iwconfig
やip link show
コマンドで確認できます。通常、wlan0
やwlan1
といった名前が付けられています。 -
干渉する可能性のあるプロセスの停止 (推奨):
NetworkManagerなどのネットワーク管理サービスが動作していると、モニターモードへの切り替えが妨げられたり、意図せずマネージドモードに戻されたりすることがあります。
airmon-ng check kill
を実行すると、干渉する可能性のあるプロセスを検出し、停止させることができます。注意: このコマンドはネットワーク接続を切断する可能性があります。作業完了後は必要に応じてネットワークサービスを再起動してください。
-
モニターモードの有効化:
airmon-ng start <interface_name>
コマンドでモニターモードを有効にします。例えば、インターフェース名がwlan0
であれば、以下のようになります。成功すると、多くの場合、新しいモニターモード用のインターフェース(例:
wlan0mon
やmon0
)が作成されます。表示されるメッセージを確認し、どのインターフェース名が作成されたかをメモしておきましょう。iwconfig
コマンドで再度確認すると、モードが “Monitor” になっていることが確認できます。
重要:倫理的な利用について
airodump-ngを含むAircrack-ngスイートのツールは、強力な機能を持っています。これらのツールを許可なく他人のネットワークに対して使用することは、法律で禁止されており、重大なプライバシー侵害にあたります。
必ず、自身が管理するネットワーク、または明示的に許可を得たネットワークに対してのみ、教育やテスト目的で使用してください。不正利用は絶対にやめましょう。
基本的な使い方:周辺ネットワークのスキャン
モニターモードのインターフェースが準備できたら、いよいよairodump-ngを実行します。最も基本的な使い方は、モニターモードのインターフェース名を指定して実行するだけです。
例えば、モニターモードのインターフェース名が wlan0mon
の場合は以下のようになります。
これを実行すると、ターミナル画面が更新され、検出されたアクセスポイント(上部)と、接続されているクライアント(下部)の情報がリアルタイムで表示されます。
表示内容の解説
表示される情報の各列の意味は以下の通りです。
列名 | 説明 |
---|---|
BSSID (Basic Service Set Identifier) | アクセスポイントのMACアドレス。ネットワークを一意に識別します。 |
PWR (Power) | 信号強度。数値が大きいほど強い信号を示します(通常は負の値で、0に近いほど強い)。 |
RXQ (Receive Quality) | 受信品質(過去10秒間)。高いほど良い品質を示します。 |
Beacons | アクセスポイントから受信したビーコンフレームの数。ネットワークの存在を知らせる信号です。 |
#Data | キャプチャされたデータパケットの数。WEPクラックではIVを含むデータパケットが重要になります。 |
#/s | 過去10秒間の秒間平均データパケット数。 |
CH (Channel) | アクセスポイントが動作している無線チャンネル。 |
MB (Maximum Speed) | アクセスポイントがサポートする最大通信速度 (Mbps)。ドットが付いている場合(例: 54.)、短いプリアンブルが有効であることを示します。 |
ENC (Encryption) | 使用されている暗号化方式。OPN (Open/暗号化なし)、WEP、WPA、WPA2、WPA3など。 |
CIPHER | 使用されている暗号化スイート。WEP、TKIP、CCMPなど。 |
AUTH (Authentication) | 認証方式。MGT (WPA/WPA2 Enterprise)、PSK (WPA/WPA2 Personal/Pre-Shared Key)、OPN (Open)、SKA (Shared Key Authentication for WEP) など。 |
ESSID (Extended Service Set Identifier) | ネットワーク名(SSID)。”<length: 0>” のように表示される場合は、SSIDが隠蔽(ステルス)されていることを示しますが、クライアントの接続試行などから判明することもあります。 |
STATION | 検出されたクライアントデバイスのMACアドレス。 |
Rate | クライアントとAP間の送受信レート (Mbps)。(例: 36-24 は AP→Client 36Mbps, Client→AP 24Mbps) |
Lost | クライアントから送信されたパケットのうち、失われた(キャプチャできなかった)パケット数。 |
Frames | クライアントから送信されたデータフレームの総数。 |
Probe | クライアントが接続しようとしている(プローブ要求を送信している)ESSID。 |
画面上部には、現在のチャンネルホッピングの状態、経過時間、現在時刻、そして重要な情報として WPAハンドシェイクがキャプチャできたかどうか が表示されることがあります(例: [ WPA handshake: XX:XX:XX:XX:XX:XX ]
)。
スキャンを停止するには、Ctrl + C を押します。
特定のターゲットに絞る
基本的なスキャンでは、周辺のすべてのネットワークを対象にチャンネルを切り替えながら(チャンネルホッピング)スキャンしますが、特定のネットワークを詳しく調査したい場合や、WPA/WPA2ハンドシェイクを効率よくキャプチャしたい場合は、ターゲットを絞り込むオプションが役立ちます。
-
特定のチャンネルに固定する (
--channel
または-c
):ターゲットのアクセスポイントが動作しているチャンネルがわかっている場合、そのチャンネルに固定することで、チャンネルホッピングによる時間のロスを防ぎ、パケットの取りこぼしを減らすことができます。
例: チャンネル 6 に固定する場合
-
特定のアクセスポイントに絞る (
--bssid
):特定のアクセスポイント(BSSID)とそのクライアントのみを表示・キャプチャ対象とします。これにより、不要な情報が画面に表示されるのを防ぎ、目的のデータを効率的に収集できます。通常、チャンネル固定 (
--channel
) と組み合わせて使用します。例: BSSID が 00:11:22:33:44:55 で、チャンネルが 11 のAPに絞る場合
-
特定のバンドに絞る (
--band
):スキャン対象の周波数帯を指定します。デフォルトでは主に2.4GHz帯(b/g)をスキャンしますが、5GHz帯(a)や両方を指定できます。アダプタが対応している必要があります。
a
: 5GHz帯b
/g
: 2.4GHz帯
--channel
オプションと--band
オプションは同時に使用できません。
データの保存とWPA/WPA2ハンドシェイクのキャプチャ
airodump-ngの真価は、単に情報を表示するだけでなく、キャプチャしたパケットデータをファイルに保存できる点にあります。特にWPA/WPA2ネットワークのセキュリティ評価では、「4ウェイハンドシェイク」と呼ばれる認証プロセス中のパケット交換をキャプチャすることが重要です。このハンドシェイク情報があれば、aircrack-ng
を使ってパスワードの辞書攻撃やブルートフォース攻撃を試みることができます。
データをファイルに保存するには、--write
オプション(または短い形式の -w
)を使用し、保存するファイル名の接頭辞(プレフィックス)を指定します。
例: ターゲットAP (BSSID: 00:11:22:33:44:55, Channel: 11) のデータを “capture_data” という名前で保存する場合
このコマンドを実行すると、カレントディレクトリに以下のようなファイルが生成されます(指定したプレフィックスに基づいて)。
capture_data-01.cap
: キャプチャされた生の802.11フレームを含むメインのファイル(libpcap形式)。このファイルがハンドシェイク解析に使用されます。ファイルサイズが大きくなると、capture_data-02.cap
,capture_data-03.cap
… のように連番で新しいファイルが作成されます。capture_data-01.csv
: 検出されたAPとクライアントの情報がCSV形式で保存されます。capture_data-01.kismet.csv
: Kismet(別の無線LAN解析ツール)互換のCSV形式ファイル。capture_data-01.kismet.netxml
: Kismet互換のXML形式ファイル。capture_data-01.log.csv
: Airodump-ng のログCSVファイル(–output-format logcsv 指定時)
ハンドシェイクをキャプチャするには?
WPA/WPA2ハンドシェイクは、クライアントデバイスがアクセスポイントに接続(または再接続)する際に交換されます。したがって、ハンドシェイクをキャプチャするには、airodump-ng
を実行中に、ターゲットネットワークにクライアントが接続する瞬間を待つ必要があります。
自然にクライアントが接続するのを待つこともできますが、能動的にハンドシェイクを発生させる方法として、aireplay-ng
ツールの「認証解除攻撃(Deauthentication Attack)」が使われることがあります。これは、特定のクライアントを強制的に一時切断させ、再接続を促す攻撃です。
認証解除攻撃に関する警告: この攻撃は対象ネットワークの通信を意図的に妨害する行為です。絶対に許可なく他人のネットワークに対して実行しないでください。 サービス妨害(DoS)攻撃とみなされ、法的な問題に発展する可能性があります。
airodump-ng
の画面右上に [ WPA handshake: XX:XX:XX:XX:XX:XX ]
という表示が出れば、ハンドシェイクのキャプチャに成功したことを意味します 。この表示が出たら、airodump-ng
を停止 (Ctrl + C) して、保存された .cap
ファイルを aircrack-ng
で解析することができます。
注意点として、ハンドシェイクはAPと特定のクライアント間で交換されるため、キャプチャするためにはairodump-ng
がAPとクライアントの両方を認識している必要があります。
便利なオプション一覧
airodump-ngには他にも多くのオプションがあります。いくつか便利なものを紹介します。
オプション | 短い形式 | 説明 |
---|---|---|
--ivs |
-i |
WEPのIV(初期化ベクトル)のみを保存します。WEPクラック専用で、ファイルサイズを大幅に削減できますが、WPA/WPA2ハンドシェイクはキャプチャできません。 |
--gpsd |
-g |
GPSデーモン(gpsd)に接続し、検出したAPの位置情報をログに記録しようと試みます。GPSレシーバーが必要です。 |
--beacons |
-e |
デフォルトでは各ネットワークから1つのビーコンのみを保存しますが、このオプションを使うと全てのビーコンをキャプチャファイルに記録します。 |
--update <秒数> |
画面表示の更新間隔を秒単位で指定します (デフォルト: 1秒)。 | |
--showack |
ACK/CTS/RTSの統計情報を表示します。 | |
--manufacturer |
IEEE OUIリストに基づいて、デバイスの製造元情報を表示します。 | |
--uptime |
ビーコンのタイムスタンプ情報から、アクセスポイントの稼働時間を表示しようと試みます。 | |
--wps |
WPS (Wi-Fi Protected Setup) の情報を表示します (対応している場合)。 | |
--output-format <形式> |
出力ファイルの形式を指定します。カンマ区切りで複数指定可能 (例: pcap,csv,kismet)。デフォルトは pcap, csv, kismet.csv, kismet.netxml です。他に ivs, logcsv があります。 | |
--write-interval <秒数> |
指定した秒数ごとに、キャプチャファイルへの書き込みを行います。 | |
--ignore-negative-one |
チャンネルが -1 に固定されたというメッセージを非表示にします。 | |
-r <ファイル名> |
以前にキャプチャしたファイル (.capなど) を読み込んで表示します。 |
より詳細なオプションについては、ターミナルで airodump-ng --help
を実行するか、Aircrack-ng公式サイトのドキュメントを参照してください。
トラブルシューティングと注意点
- ネットワークが表示されない/データがキャプチャされない:
- 無線LANアダプタが正しくモニターモードになっているか
iwconfig
で確認してください。 airmon-ng check kill
で干渉するプロセスを停止しましたか?- アダプタのドライバがモニターモードやパケットインジェクションに完全に対応していない可能性があります。
- 物理的にアクセスポイントに近づく必要があるかもしれません。
- チャンネルホッピングが原因の場合、特定のチャンネル (
--channel
) に固定してみてください。
- 無線LANアダプタが正しくモニターモードになっているか
- airodump-ngが途中で停止する:
- NetworkManagerなどがアダプタをマネージドモードに戻している可能性があります。
airmon-ng check kill
を実行してから再度試してください。 - 省電力設定でPCがスリープモードに入っていないか確認してください。
- 特定のドライバ(古いmadwifi-ngなど)のバグの可能性もあります。
- NetworkManagerなどがアダプタをマネージドモードに戻している可能性があります。
- WPAハンドシェイクがキャプチャできない:
- ターゲットネットワークにクライアントが接続/再接続するタイミングで実行している必要があります。
- APとクライアントの両方から十分な信号強度でパケットを受信できる距離にいる必要があります。遠すぎても近すぎても問題が起きることがあります。
- キャプチャファイルが破損している可能性も考えられます。
wpaclean
ツール (Aircrack-ngスイートの一部) でキャプチャファイルをクリーンアップしてみるのも一つの手です。
ヒント: 問題が発生した場合は、使用しているOS、無線LANアダプタのモデル名、ドライバ情報、実行したコマンド、エラーメッセージなどを具体的に記録しておくと、解決策を探す際に役立ちます。
まとめ
airodump-ngは、Wi-Fiネットワークの状況を把握し、セキュリティ評価を行うための強力で不可欠なツールです。周辺のネットワークをスキャンし、アクセスポイントやクライアントの詳細情報を収集、さらにWPA/WPA2ハンドシェイクなどの重要なデータをキャプチャしてファイルに保存することができます。
基本的な使い方から、特定のターゲットに絞ったスキャン、データ保存まで、様々なオプションを駆使することで、より効率的なネットワーク分析が可能になります。
しかし、その強力さゆえに、倫理的な利用が強く求められます。常に法律と倫理を遵守し、許可されたネットワークに対してのみ、責任を持って使用するようにしましょう。
この記事が、airodump-ngを理解し、適切に活用するための一助となれば幸いです。Happy Hacking! (ethically, of course!)
参考情報
- Aircrack-ng 公式サイト – airodump-ng ドキュメント: https://www.aircrack-ng.org/doku.php?id=airodump-ng
- Kali Linux Tools – airodump-ng: https://www.kali.org/tools/aircrack-ng/#airodump-ng