bluelog

Kalilinux
この記事は約5分で読めます。

bluelogはLinuxベースのBluetoothスキャナーです。

Bluetoothのサイトサーベイ(周囲にどれくらいBluetooth機器が存在するかの調査)によく利用されます。

GUIはなく、長時間バックグラウンドで動作させることを前提に設計されています。

bluetooth classicについて

bluetoothには、 ‘bluetooth classic’ と ‘bluetooth BLE’ の2系統があります。

系統主な用途欠点
bluetooth classic音楽用、ゲームコントローラ、大容量データ通信消費電力多い
bluetooth BLE[Bluetooth Low Energy]IoT用、スマートウォッチ、ヘルスケア機器通信速度遅い

bluelogは、‘bluetooth classic’ の方に対応しています。

この分類は、bluetooth5.4や6.0といった世代(バージョン)分類とは別物です。

準備

bluetoothデバイスの確認

自分のマシンに(或いはマシンに接続された周辺機器に)bluetoothを送受信する機能(ハード)があるかどうかを確認します。

上例では、 ‘hci0’ として認識されています。

hciconfig:hci(bluetooth)の設定コマンドです。

bluetoothサービス稼働の確認

ハードの存在とは別に、ソフト的にbluetoothサービスが動いているかどうかを確認します。

status inactine

上例ではサービスは ‘inactive(dead)’ となっています。動いていません。

bluetoothサービスの稼働

そこで、bluetoothサービスをスタートします。

status active

‘systemctl status bluetooth’ コマンドによる確認では、active(running)となりました。

次回からも稼働させたい場合

もし、次回ブート時からも起動させたい場合は、 ‘enable’ とします。

enable

下例の ‘systemctl status bluetooth’ コマンドによる確認では、 ‘enabled’ (=次回のリブート時に起動)かつ ‘active’ (=現在も稼働)となっています。

status enable

‘sudo systemctl enable bluetooth –now’ と、’–now’ オプションを付ければ、 ‘start’ (今から稼働)と ‘enable’ (次回リブート時からも稼働)の2コマンドを兼ねた効果になります。

ブロックされていないことの確認

念の為、ブロックされていないことの確認です

rfkill

0番(hci0):Bluetooth、1番(phy0):Wifi ともBlockされていません。

rfkillコマンドについて

wifiやbluetoothなどの無線デバイスを、有効化・無効化するコマンドです。

もしも ‘rfkill list’ が ‘yes’ だった場合

下記例では、BluetoothのSoft blockedが ‘yes’ となっています。

この状態でbluelogツールを実行するとエラーがでています。

この場合、下記コマンドでブロックを解除します。

或いはwifiも含めた全てのブロックを解除する下記コマンドでもOKです。

最後に ‘rfkill list’ コマンドで状態を再確認します。

実行

以下のコマンドにて実行します。

新たにiPhone16とAirPods4をペアリングし、その後MacBook AirとAirPods4をペアリングすると、その様子が記録されました。(一部アドレスを隠しています)

終了は ‘Ctl + C’ です

6行目にlogの保存先が表示されています。

8行目がラズパイ側のBDアドレス(MACアドレスに相当)です。(一部アドレスを隠しています)

10、11行目に発見したbluetoothデバイスが記録されています。

10行目はiPhone-AirPodsのペアリング、11はMacBook Air-AirPodsのペアリングです。

記録されているのはデバイス名(iPhone、MacbookAir)とそのBDアドレスです。

適当なbluetooth音楽デバイスが無かったのでAirPods4を買ってしまいました。
Airpods4
まあ以前からどうせ欲しかったものですけどね。
(ベトナムから送られてくると思っていたら、中国からでした)

AirPods側のアドレスと名前は検出出来ていません。

また、既にペアリングが成立している状態でのスキャンでは検出できないようです。(検出できるのは接続開始時のアドレスを交換している時のみ)

ログは以下の通りです。

表示するオプション

‘-v’ オプションでターミナル画面にも発見デバイスの経過が表示されます。

ログファイル名の指定

指定しない場合は、デフォルトで ‘bluelog-YYYY-MM-DD-HHMM.log’ の形でホームディレクトリに保存されます

インターフェースの指定

bluetoothアダプタが複数ある場合に、これを指定します

bluetoothアダプタが1つの場合は、省略可能です(自明なので)

デーモン化

バックグラウンドで動きます

ライブモード

HTMLファイルを出力・更新し続けるモードです

Webサーバ(ApacheやNginxなど)で公開すれば、ブラウザからリアルタイムの検出結果を確認できます

その他のオプション

オプション意味
-nデバイス名表示
-mメーカー名表示
-cデバイスクラス表示
-f同上(分かり易い名称)
-tタイムスタンプ表示
-kデーモン停止
-a 分一定時間検出しない機器を消去
-w 秒スキャン間隔

まとめ

まずは、bluetoothに2系統(音楽計の ‘Classic’ と、データ通信の ‘BLE’ )があることを初めて知りました、

このツール ‘bluelog’ は前者専用の検出ツールです。

接続初期のペアリング時の情報を捉えるようです。

長所と短所

長所

短所

ヘルプ

bluelogは01-Reconnaissanceの一番上にあり、つまりkaliツールの一番先頭にあります。

kali ー 01-Reconnaissance ー Bluetooth ー bluelog

bluelog help
bluelog --help

コメント

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