はじめに
Bluetoothは2.4GHz帯の電波を利用した近距離無線通信方式の一つで、
ワイヤレス方式のキーボード、マウス、ヘッドホン等様々な機器で
使用されています。Cisco社のIP Phone、ヘッドセット等の製品でも
Bluetoothがサポートされています。
Bluetoothでは様々な機器を接続するためのプロトコル(プロファイル)
が標準化されており、音声配信にはA2DPプロファイルが利用されます。
本のドキュメントでは、Wiresharkを用いてA2DP通信を解析する方法
について説明します。
1.Wiresharkパケットキャプチャファイルの準備

ここでは外付けUSB Bluetoothアダプタが接続されたUSBポートの
パケットキャプチャを利用します。
① Wiresharkでパケットキャプチャを開始します。
② PCにヘッドセットをペアリングし、音楽を再生します。
③ 音楽の再生を停止し、ペアリングを解除します。
④ Wiresharkでのパケットキャプチャを停止します。
2.Wiresharkでのフィルターの設定
Wiresharkで利用できるBluetooth関連のフィルターは
下記のページに記載されています。
Wireshark : Bluetooth
A2DP通信の内容を確認したい場合、以下のようなフィルタを
適用すると見やすくなります。
(フィルタの設定例)
btavdtp (Bluetooth AVDTP Protocol)
sbc (Bluetooth SBC Codec)
AVDTP: Audio/Video Distribution Transport Protocolは、
A2DPのプロファイルで情報の伝送のに使用される
トランスポート層のプロトコルです。
このテストで使用したヘッドセットはBluetoothの標準コーデック
(SBCコーデック)のみをサポートしているのでフィルタにsbcを
適用しています。
3.Bluetooth (A2DP) 通信内容の確認
Wiresharkで通信内容を確認します。
音楽再生開始時の通信は以下のように見えます。
音楽再生停止時の通信は以下のように見えます。

主要なパケット(赤枠で囲ったパケット)内容を詳細に確認していきます。
下記のパケットは、使用できるBluetoothコーデック情報の交換と設定を
行っている部分です。


Open、Startにより、メディア(SBCコーデック)の送信が始まります。

Suspend、CloseによりBluetooth (A2DP)通信が終了します。

まとめ
Wiresharkを利用すれば、Bluetooth通信(A2DP)の内容を確認する
ことができます。
問題発生時のトラブルシューティング、Bluetooth通信の学習に活用できます。