- やりたいこと・背景
通常、Wireshark で無線インタフェースを指定してパケットキャプチャすると、有線LANと同じ形式 (IEEE802.3) で記録されてしまいます。これは無線ドライバが IEEE802.11 を IEEE802.3 形式に変換して OS に渡してしまうことが原因です。
無線アダプタにはモニターモードをサポートするものがあり、モニターモードを動作させた状態でパケットキャプチャを取ることで IEEE802.11 形式のキャプチャが可能になります。
ただし、無線アダプタでモニターモードをサポートしていても Windows 環境下ではその機能が使えません。
Windows 環境は残しつつもスポットでその PC を Ubuntu で動作させるようにしたいため、今回は以下の記事の通り Ubuntu Live 環境を使ってモニターモードを動かし無線 (IEEE802.11) のパケットキャプチャを取ることを目指します。

なお、モニターモードで動かしている間はその無線アダプタは観測専用になるため通信用には使えなくなります。
事前の注意点
無線アダプタがモニターモードをサポートしているか事前に確認しましょう。
手順
パッケージインストール
まずはパッケージ最新化。
$ sudo apt -y update && sudo apt -y upgrade
続いて必要なパッケージをインストール。
$ sudo apt -y install wireshark aircrack-ng libxcb-cursor0
wireshark のインストール時に
Should non-superusers be able to capture packets?
と聞かれますがデフォルトの no にします。
モニターモード起動
モニターモードにする無線アダプタを確認。
$ sudo airmon-ng
モニターモード起動を阻害するプロセスを停止。
$ sudo airmon-ng check kill
モニターモード起動。
$ sudo airmon-ng start wlp0s20f3
Wireshark を root で起動
$ sudo wireshark
最後に mon の付いたインタフェースが見えるはず。それを指定してキャプチャ開始。
管理コマンド
チャネルの確認と変更
モニターできるチャネルは 1 つだけ。
現在のチャネルを確認するコマンド。
$ sudo iw dev wlp0s20f3mon info
チャネルを2 に変更するコマンド。
$ sudo iw dev wlp0s20f3mon set channel 2
モニターモードを元に戻す
$ sudo airmon-ng stop wlp0s20f3mon $ sudo systemctl restart NetworkManager


コメント