無線LAN (Wi-Fi)

Ubuntu 26.04 で無線 (IEEE802.11) のパケットキャプチャ

  • やりたいこと・背景

通常、Wireshark で無線インタフェースを指定してパケットキャプチャすると、有線LANと同じ形式 (IEEE802.3) で記録されてしまいます。これは無線ドライバが IEEE802.11 を IEEE802.3 形式に変換して OS に渡してしまうことが原因です。

無線アダプタにはモニターモードをサポートするものがあり、モニターモードを動作させた状態でパケットキャプチャを取ることで IEEE802.11 形式のキャプチャが可能になります。

ただし、無線アダプタでモニターモードをサポートしていても Windows 環境下ではその機能が使えません。

Windows 環境は残しつつもスポットでその PC を Ubuntu で動作させるようにしたいため、今回は以下の記事の通り Ubuntu Live 環境を使ってモニターモードを動かし無線 (IEEE802.11) のパケットキャプチャを取ることを目指します。

【Ubuntu26.04】Live-USB ブートして設定変更保存 (persistent) も可能にする方法
Ubuntu Desktop の Live USBWindows 端末しかないけ...

なお、モニターモードで動かしている間はその無線アダプタは観測専用になるため通信用には使えなくなります。

事前の注意点

無線アダプタがモニターモードをサポートしているか事前に確認しましょう。

手順

パッケージインストール

まずはパッケージ最新化。

$ 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

コメント

タイトルとURLをコピーしました