はじめに
この実験では、Wireshark のコマンドラインユーティリティである Tshark を使用して、無線ネットワークフレームをキャプチャして分析する方法を学びます。実践的な演習を通じて、無線インターフェイスでモニターモードを有効にすること、特定のフィルターを使用してパケットをキャプチャすること、およびフレームの詳細を調べることを練習します。
この実験では、インターフェイスの設定、リアルタイムのパケットキャプチャ、および 802.11 ビーコンフレームのターゲット分析などの重要な技術がカバーされます。標準的なネットワークモードでは通常見えない無線トラフィックを観察するために、コマンドラインと GUI の両方の方法で実践的な経験を積むことができます。
-I でモニターモードを有効にする
このステップでは、-I フラグを使用して Wireshark でモニターモードを有効にする方法を学びます。モニターモードは、ネットワークアダプターが特定のチャネル上のすべての無線トラフィック(自分のデバイス宛ではないパケットも含む)をキャプチャできる特殊な無線インターフェイスモードです。これは、自分のデバイス宛のパケットのみを受信する通常の「マネージドモード」とは異なります。
開始する前に、無線インターフェイスが利用可能かどうかを確認する必要があります。ほとんどの Linux システムでは、デフォルトの無線インターフェイス名として wlan0 が使用されています。iwconfig コマンドを使用して確認しましょう。
iwconfig
インターフェイスの一覧に wlan0 が表示されるはずです。別の名前が表示された場合は、以下のコマンドでその名前を置き換える必要があります。
次に、aircrack-ng スイートの airmon-ng を使用してモニターモードを有効にします。このツールは、無線インターフェイスの管理に役立ちます。
sudo airmon-ng start wlan0
このコマンドは、モニターモードの新しい仮想インターフェイスを作成します。通常、wlan0mon という名前が付けられます。「mon」の接尾辞は、モニターモードであることを示しています。
インターフェイスのプロパティを確認して、モードが有効になっていることを検証しましょう。
iwconfig wlan0mon
出力で、「Mode:Monitor」を探します。これは、インターフェイスが正しく構成されていることを確認するものです。ここで、周波数やチャネルに関する詳細も表示される場合があります。
これで、モニターモードを有効にして Wireshark を起動する準備ができました。
wireshark -I -i wlan0mon
-I フラグは、Wireshark にモニターモードを使用するように明示的に指示し、-i wlan0mon はモニターインターフェイスを指定します。これらがない場合、Wireshark は通常のマネージドモードでキャプチャを試みます。
Wireshark が開いたら、インターフェイスの一覧を確認します。wlan0mon の横に「(monitor mode)」という表示があるはずです。この視覚的な確認により、すべての無線トラフィックを適切にキャプチャしていることを確認できます。
-i wlan0 でキャプチャを開始する
このステップでは、Wireshark のコマンドラインインターフェイスを使用して無線ネットワークトラフィックをキャプチャします。-i フラグは、Wireshark にどのネットワークインターフェイスを監視するかを指示するため、非常に重要です。無線ネットワークを扱っているので、先ほど準備したモニターモードのインターフェイスを使用します。
開始する前に、モニターモードのインターフェイスが正しく設定されていることを確認しましょう。この確認により、適切な種類の無線データをキャプチャしていることが保証されます。
iwconfig wlan0mon
出力で「Mode:Monitor」を探します。これは、インターフェイスが近くのすべての無線トラフィック(自分のデバイス宛のトラフィックだけでなく)をキャプチャできる状態であることを確認するものです。
これで、Wireshark を起動してパケットのキャプチャを開始しましょう。
wireshark -i wlan0mon
-i wlan0mon の部分は、Wireshark にモニターモードのインターフェイスを使用するように明示的に指示します。表示される Wireshark ウィンドウでは、以下のようになります。
- 周囲のデバイスが無線フレームを送信すると、パケットリストがリアルタイムで表示されます。
- ステータスバーに「wlan0mon」が表示されていることを確認し、正しいインターフェイスが選択されていることを確認します。
- パケットカウンターが増えるのを見て、キャプチャが成功していることを確認します。
キャプチャを終了するには、以下の方法があります。
- ツールバーにある目立つ赤色の「Stop」ボタンをクリックします。
- または、Ctrl+E を押してキャプチャのオン/オフを切り替えます。
ターミナルで作業することを好む場合や、キャプチャを自動化する必要がある場合は、Tshark(Wireshark のコマンドラインバージョン)が最適です。
tshark -i wlan0mon -c 10
このコマンドは、正確に 10 個のパケットをキャプチャした後、自動的に停止し、結果をターミナルに直接表示します。-c フラグは、停止する前にキャプチャするパケットの数を制御します。
-Y "wlan.fc.type_subtype==0x08" でビーコンをフィルタリングする
このステップでは、表示フィルタ構文を使用して Wireshark でビーコンフレームをフィルタリングする方法を学びます。ビーコンフレームは特殊な管理フレーム(タイプ 0x08)で、無線アクセスポイントが自らのネットワークの存在をアナウンスするために継続的にブロードキャストします。これらのフレームには、ネットワーク名(SSID)、サポートされているデータレート、セキュリティ設定などの重要な情報が含まれています。
- まず、Wireshark が wlan0mon でキャプチャを行っていることを確認します(前のステップから)。
wireshark -i wlan0mon
このコマンドは Wireshark を起動し、wlan0mon インターフェイスでパケットのキャプチャを開始します。このインターフェイスは、以前のセットアップでモニターモードになっているはずです。
- Wireshark インターフェイスで:
- 上部(メインメニューのすぐ下)にある「Filter」ツールバーを見つけます。
- フィルタ式を入力します。
wlan.fc.type_subtype == 0x08
このフィルタは、Wireshark にフレームタイプ/サブタイプがビーコンフレーム(16 進数で 0x08)に一致するパケットのみを表示するように指示します。
- Enter キーを押すか、「Apply」をクリックしてフィルタを有効にします。
これで、パケットリストにはビーコンフレームのみが表示されるはずです。これらは通常、以下のように表示されます。
- アクセスポイントの送信元 MAC アドレス(物理デバイスを識別します)
- パケットの詳細にある SSID(ネットワーク名、ユーザーが WiFi 名として見るもの)
- 規則的な間隔(通常は 100ms ごと、これはデフォルトのビーコン間隔です)
ビーコンフレームを詳細に調べるには:
- パケットリストの任意のビーコンフレームをクリックして選択します。
- 中央のパネルの「IEEE 802.11 Wireless LAN Management Frame」セクションを展開します。
- ここで、以下のような重要な詳細を表示できます。
- SSID(Tagged Parameters の下)
- サポートされているデータレート
- チャネル情報
- セキュリティ機能
tshark を使用したコマンドラインでのフィルタリング(自動キャプチャに便利です):
tshark -i wlan0mon -Y "wlan.fc.type_subtype==0x08" -c 5
このコマンドは、wlan0mon インターフェイスからフィルタ(-Y)に一致する正確に 5 つのビーコンフレーム(-c 5)をキャプチャした後、自動的に終了します。tshark の -Y フラグは、Wireshark の表示フィルタと同様に機能します。
-V でフレームを表示する
このステップでは、-V フラグを使用して Wireshark の詳細出力モードを使い、ターミナルに詳細なフレーム情報を表示する方法を学びます。これは、tshark のようなコマンドラインツールを使用する際に特に有用で、デフォルトの概要表示よりも包括的な情報を提供します。
- まず、いくつかのビーコンフレームをキャプチャしていることを確認します(前のステップから)。tshark を使ってこれらを詳細表示します。
tshark -r /tmp/capture.pcap -Y "wlan.fc.type_subtype==0x08" -V
このコマンドは、保存されたキャプチャファイル (/tmp/capture.pcap) を読み込み、ビーコンフレーム(type_subtype 0x08)をフィルタリングします。-V フラグは、tshark に各フレームに関する利用可能なすべての詳細を表示するよう指示します。
-Vフラグによる詳細出力には以下が表示されます。- 完全なフレームヘッダ(すべての 802.11 フレームフィールドを含む)
- すべてのプロトコル層(物理層からアプリケーションデータまで)
- 詳細なフィールド値(各値の意味の説明付き)
- 16 進数のペイロードダンプ(生のパケット内容を分析するのに便利)
詳細出力でリアルタイムのフレームをキャプチャして表示するには:
tshark -i wlan0mon -Y "wlan.fc.type_subtype==0x08" -V -c 5
これにより:
- wlan0mon インターフェイス(モニターモードのインターフェイス)からキャプチャします。
- ビーコンフレームのみをフィルタリングします(前と同じフィルタを使用)。
- 詳細出力を表示します(上記で説明したすべての詳細を含む)。
- 5 フレーム後に停止します(
-c 5パラメータでキャプチャを制限)。
詳細出力で注目すべき重要な情報:
- フレームコントロールフィールドの値(フレームタイプ、方向、その他のフラグを示す)
- MAC アドレス(送信元、宛先、および BSSID)
- ビーコン間隔(アクセスポイントがビーコンフレームを送信する頻度)
- 機能情報(アクセスポイントがサポートする機能)
- サポートされるレート(アクセスポイントが扱えるデータレート)
特に長い出力の場合、読みやすさを向上させるために、出力を
lessにパイプできます。
tshark -i wlan0mon -Y "wlan.fc.type_subtype==0x08" -V -c 5 | less
これにより、矢印キーを使って出力をページごとにスクロールでき、一度にすべての出力がターミナルに表示されることがなくなります。作業が終了したら、'q' を押して less ビューアを終了します。
まとめ
この実験では、モニターモードで Wireshark を使用して無線フレームをキャプチャする方法を学びました。主要な手順としては、airmon-ng でモニターモードを有効にすること、iwconfig でインターフェイスの状態を確認すること、および -I フラグを使用して Wireshark を起動しモニターモードでキャプチャすることが含まれていました。また、-i でモニタリングインターフェイスを指定し、リアルタイムトラフィックを観察する練習も行いました。
さらに、-Y を使用したビーコンフレームのフィルタリング技術と、-V を使用した詳細分析についても調査しました。この実験では、GUI とコマンドラインの両方の方法をカバーし、ヘッドレス操作に適した tshark も含まれており、無線フレーム分析の堅実な基礎を提供します。


