Обнаружение / регистрация вашего собственного трафика Android Bluetooth
Недавно я купил устройство Chinesse, которое соединяется через Bluetooth с телефоном / планшетом Android. Поскольку для Windows / Linux нет доступных приложений, я хочу создать приложение для личного использования.
Обычно телефон подключается к устройству и обменивается некоторыми данными. Я подключил ПК к устройству, заглянул в последовательный отладчик и смог обнаружить протокол (только в одну сторону). Телефон отправляет только одну команду на устройство. Но на этот раз я не могу выяснить, что в нем содержится.
Есть ли программное обеспечение, которое позволит мне просматривать данные, отправленные через Bluetooth? Я пытался декомпилировать приложение, но это выглядит очень недружелюбно.
Благодарю.
4 ответа
В Android 4.4 (Kit Kat) появилась новая возможность прослушивания Bluetooth. Вы должны попробовать.
Если у вас нет устройства для прослушивания, вам не обязательно повезет. Во многих случаях мы можем получить положительные результаты с помощью новой функции, представленной в Android 4.4: возможность перехватывать все пакеты Bluetooth HCI и сохранять их в файл.
Когда аналитик завершит заполнение файла захвата, запустив тестируемое приложение, он может извлечь файл, созданный Android, во внешнее хранилище устройства и проанализировать его (например, с помощью Wireshark).
Как только этот параметр активирован, Android сохранит перехват пакета в /sdcard/btsnoop_hci.log для проверки и проверки аналитиком.
Введите следующее в случае /sdcard/
не правильный путь на вашем конкретном устройстве:
adb shell echo \$EXTERNAL_STORAGE
Затем мы можем открыть оболочку и извлечь файл: $adb pull /sdcard/btsnoop_hci.log и проверить его с помощью Wireshark, как, например, PCAP, собранный путем перехвата трафика WiFi, поэтому он очень прост и хорошо поддерживается:
Вы можете включить это, перейдя в Настройки-> Параметры разработчика, а затем поставив флажок рядом с "Журнал отслеживания Bluetooth HCI".
Кроме того, это может помочь найти фактическое местоположение, в котором сохраняется btsnoop_hci.log:
adb shell "cat /etc/bluetooth/bt_stack.conf | grep FileName"
На телефоне Xiaomi с Android 11 после включения «Bluetooth HCI Snoop log» в настройках разработчика файл, похоже, записывается в
/data/misc/bluetooth/logs/btsnoop_hci.log
(доступно только с рутом)
/sdcard/MIUI/debug_log/common/com.android.bluetooth/btsnoop_hci.log
Кроме того, можно получить журнал, запустив
adb bugreport zipname
с компа, как тут написано .
Обратите внимание, что ведение журнала у меня включалось только после перезагрузки .
На Xiaomi Redmi Note 9s этот файл конфигурации также можно найти / storage / emulated / 0 / MIUI / debug_log / common с именем hci_snoop20210210214303.cfa hci_snoop20210211095126.cfa
Включите «Настройки-> Параметры разработчика», затем установите флажок «Журнал отслеживания Bluetooth HCI». '
Я использовал Total Commander для извлечения файла из внутреннего хранилища.