![見出し画像](https://assets.st-note.com/production/uploads/images/60578396/rectangle_large_type_2_8a55b7265c8e628659385e222cc549f4.png?width=800)
WireSharkをLinuxで使う
Wiresshark開発者は、Ubuntuおよびその他のUbuntuベースのディストリビューションにWiresharkの最新の安定バージョンをインストールするために使用できる公式PPAを提供しています。
端末を開き、次のコマンドを1つずつ入力します。
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt update
sudo apt install wireshark
Wiresharkの古いバージョンがインストールされている場合でも、新しいバージョンに更新されます。
途中 ”はい” or ”いいえ” の選択が出ますが、”はい”を選択します。
非スーパーユーザーがパケットをキャプチャすることを許可しているため、ユーザーをwiresharkグループに追加する必要があります。 使用 usermodコマンド Wiresharkグループに自分を追加します。
sudo usermod -aG wireshark ユーザー名
Ubuntuシステムを再起動します システムに必要な変更を加えます。
「aircrack-ng」をインストール
sudo apt-get install aircrack-ng
無線アダプタをモニターモードに変更
モニターモードにする前に、「sudo airmon-ng check kill」で不要なプロセスを停止する
$ sudo airmon-ng check kill
Killing these processes:
PID Name
745 wpa_supplicant
「sudo airmon-ng start インターフェース名」で無線インターフェースをモニターモードに変更する。インターフェース名は「iwconfig」で確認。
$ iwconfig
lo no wireless extensions.
eno1 no wireless extensions.
wlp2s0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
$ sudo airmon-ng start wlp2s0
PHY Interface Driver Chipset
phy0 wlp2s0 iwlwifi Intel Corporation Wireless 7265 (rev 59)
(mac80211 monitor mode vif enabled for [phy0]wlp2s0 on [phy0]wlp2s0mon)
(mac80211 station mode vif disabled for [phy0]wlp2s0)
★AirePlaneモードになっていると、WiFiが切れてしまうので動作しません。私もよく引っ掛かります。
$ iwconfig
lo no wireless extensions.
eno1 no wireless extensions.
wlp2s0mon IEEE 802.11 Mode:Monitor Frequency:5.2 GHz Tx-Power=-2147483648 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
root@KOMAOKA:/home/okoshi# systemctl disable avahi-daemon.service
wiresharkを立ち上げ。
$ wireshark
インターフェース名+mon というキャプチャー対象を選ぶ。
■チャンネルの変更
[表示(V)]→[無線ツールバー]によって、無線ツールバーが表示されチャンネルも変えられるようになります。これは便利。
■WPAの複合化は下記の2アクション
①[キャプチャー]->[オプション]
モニターモードに✓を入れます。
②[編集]->[設定]->[Protocols]->[IEEE 802.11]->[編集]
wpa-pwdに passwd:ssid を入力。
複合化されてます。837フレームで入力したping 8.8.8.8 のレスポンスフレームが848フレーム(とそれ以降)であることがわかります。
TLS1.2のデータが見れない。
BluetoothLE もキャプチャー
Nordicのチップを使ったボードを使えば、BluetoothLEのキャプチャーも可能です。ここでは、u-bloxのBMD-350(nRF52832)をつかったキャプチャーにチャレンジします。BMD-350は技適も通っているので安心ですね。キャプチャーは受信なので技適は必要ありませんが。
Linuxの書き込み環境を整える。
下記からJ-linkツールをダウンロードします。"64-bit DEB Installer"をダウンロードします。現時点のバージョンは、V7.58bです。
下記のコマンドでインストールします。
sudo dpkg -i JLink_Linux_V758b_x86_64.deb
下記から"nRF Connect for Desktop"ツールをダウンロードします。現時点のバージョンは3.9です。Linuxバージョンもありますので、そちらを選択します。
nrfconnect-3.9.0-x86_64.appimageをダウンローそして実行属性を付ければ使えるようになります。
user@FMVS56HBC:/tmp$ chmod +x nrfconnect-3.9.0-x86_64.appimage
user@FMVS56HBC:/tmp$ sudo mv nrfconnect-3.9.0-x86_64.appimage /usr/bin
user@FMVS56HBC:/tmp$ /usr/bin/nrfconnect-3.9.0-x86_64.appimage
Programmer をインストールします。
下記から "nrf_sniffer_for_bluetooth_le_<ver>.zip"(verは現時点で4.1)をダウンロードします。下記のファイルが解凍されます。
user@FMVS56HBC:~/WireShark/nRF_Sniffer_4.1$ tree | nkf -e
.
├── LICENSE.txt
├── Profile_nRF_Sniffer_Bluetooth_LE
│ ├── preferences
│ └── recent
├── doc
│ ├── Sniffer API Guide.pdf
│ ├── example.py
│ ├── example_linux.py
│ └── sniffer_uart_protocol.txt
├── extcap
│ ├── SnifferAPI
│ │ ├── CaptureFiles.py
│ │ ├── Devices.py
│ │ ├── Exceptions.py
│ │ ├── Filelock.py
│ │ ├── Logger.py
│ │ ├── Notifications.py
│ │ ├── Packet.py
│ │ ├── Pcap.py
│ │ ├── Sniffer.py
│ │ ├── SnifferCollector.py
│ │ ├── Types.py
│ │ ├── UART.py
│ │ ├── __init__.py
│ │ └── version.py
│ ├── nrf_sniffer_ble.bat
│ ├── nrf_sniffer_ble.py
│ ├── nrf_sniffer_ble.sh
│ └── requirements.txt
├── hex
│ ├── sniffer_nrf51dk_nrf51422_4.1.0.hex
│ ├── sniffer_nrf51dongle_nrf51422_4.1.0.hex
│ ├── sniffer_nrf52833dk_nrf52833_4.1.0.hex
│ ├── sniffer_nrf52840dk_nrf52840_4.1.0.hex
│ ├── sniffer_nrf52840dongle_nrf52840_4.1.0.hex
│ └── sniffer_nrf52dk_nrf52832_4.1.0.hex
└── release_notes.txt
5 directories, 32 files
BMD-350を接続し、Programmer を実行します。
[SELECT DEVICE]で nRF52 DKを選択します。
[Add HEX file]から、"sniffer_nrf52dk_nrf52832_4.1.0.hex"を選択します。
[Erase & Write]で書き込めば、書き込み完了です。
WireSharkにプロファイルを登録する
[ヘルプ(H)]→[WireSharkについて]→[フォルダ]→[個人設定]
ここに指定されるフォルダーに、”Profile_nRF_Sniffer_Bluetooth_LE”をおくということで、ここはコマンドラインから入力します。
ダウンロードして解凍してあるフォルダーから移動します。
$ nRF_Sniffer_4.1/
$ Profile_nRF_Sniffer_Bluetooth_LE ~/.config/wireshark/profiles/
https://infocenter.nordicsemi.com/topic/ug_sniffer_ble/UG/sniffer_ble/intro.html
この記事が気に入ったらサポートをしてみませんか?