Как захватить / сбросить пакеты Bluetooth LE Link Layer в Linux без сниффера?

Я хочу стабильно захватывать / сбрасывать пакеты канального уровня воздушного интерфейса BLE в Linux.

Пакеты канального уровня радиоинтерфейса BLE выглядят следующим образом:

сниффер с использованием ubertooth при подключении другого BLE-устройства

Однако сниффер через ubertooth гораздо менее надежен (часто теряются пакеты).

Итак, я хочу сбросить данные трафика BLE с помощью таких инструментов, как tcpdump и btmon. Я получил такие результаты:

результат tcpdump при подключении другого BLE-устройства

Однако нет информации о LL_ENC_REQ и LL_ENC_RSP, которые содержат SKD и IV.

Можно ли захватить SKD и IV без сниффера типа ubertooth?

Спасибо за совет.


person user632337    schedule 25.11.2019    source источник


Ответы (1)


Нет, btmon захватывает только пакеты HCI, которые передаются между компьютером (хостом) и чипом Bluetooth (контроллером). Канальный уровень — это связь между двумя контроллерами Bluetooth (по воздуху). Чтобы понюхать СКД и т.п., нужен сниффер воздуха.

person Emil    schedule 25.11.2019
comment
Я думал об этом, но я не уверен. Благодарю вас! - person user632337; 26.11.2019
comment
Что такое анализатор воздуха? - person IgorGanapolsky; 14.05.2020
comment
Какое дополнительное оборудование требуется для сниффера, которого нет в ноутбуке с Linux? Кроме того, разве мы не должны иметь возможность сканировать все каналы так же, как мы можем сканировать рекламные каналы, выгружать наблюдаемые данные и вычислять список устройств (круг) (это можно легко выполнить для Wi-Fi)? - person Tejas Pawar; 13.01.2021
comment
Мне удалось перехватить пакеты с помощью Wireshark - person UdaraWanasinghe; 27.07.2021