Журнал трансляции hci bluetooth

0. Введение

Для разработчиков Bluetooth журнал HCI может помочь нам лучше проанализировать проблему и понять протокол Bluetooth, так же как при разработке сети необходимо использовать Wireshark для анализа сетевых протоколов.

Эта статья в основном представляетРоль журнала HCIКак получить копию журнала HCIИ объединитьПрактический примерПроиллюстрироватьКак анализировать журнал HCI

1. Введение в журнал HCI

1.1 Функция журнала HCI

Журнал HCI используется для анализа поведения взаимодействия между устройствами BluetoothСоответствует ли это ожиданиям?Исполните с спецификацией Bluetooth, В повседневной разработке журнал HCI обычно используется для нескольких вещей:

  • Анализировать ошибки: Устройство не может быть найдено после включения Bluetooth или у искомого устройства нет имени, но есть только адрес Bluetooth, телефоны Android не могут передавать файлы на телефоны Apple .
  • анализ спроса: Мобильный телефон должен быть оснащен селфи-палкой Bluetooth для управления фотосъемкой. Через журнал HCI вы можете наблюдать, какой профиль Bluetooth используется конкурирующими продуктами при реализации этой функции? Пока мы знаем, что профиль Bluetooth используется, у нас есть идея реализовать эту функцию.
  • Изучение протокола Bluetooth: Используйте журнал HCI, чтобы помочь в изучении протокола Bluetooth, так же, как изучение TCP / IP путем захвата пакетов через wireshark

1.2 Базовая архитектура системы Bluetooth

Сказав так много использований журнала HCI, если мы хотим лучше понять журнал HCI, нам нужно сначала взглянуть на положение HCI во всей архитектуре базовой системы Bluetooth. Для облегчения понимания я буду использовать архитектуру базовой системы Bluetooth3 слоя абстракции

  • User Application(Host)Пользовательское приложение — это прикладной уровень, также называемый Host, мы называем Bluetooth API, относящийся к прикладному уровню, например,BluetoothAdapterИнтерфейс предоставлен в.
  • HCI (Host controller Interface): Когда верхний уровень вызывает Bluetooth API,Не будет напрямую манипулировать нижним слоем Bluetooth(Контроллер) связанный интерфейс, ноОтправьте Команду соответствующей операции Контроллеру через HCIИ затем вернуть результат выполнения после того, как нижний уровень выполнит команду,То есть контроллер отправляет событие в HCI, а затем HCI уведомляет прикладной уровеньHCI сыграласредний слойРоль.
  • Controller: Контроллер находится на самом низком уровне, который можно понимать как чип Bluetooth на нашем мобильном телефоне.
Читайте также:  Установке модуля bluetooth usb

Абстрактная архитектура Bluetooth

Полная базовая архитектура системы Bluetooth более сложна, поэтому мы не будем вдаваться в подробности. Заинтересованные студенты могут обратиться к спецификации Bluetooth.Core_v4.2.pdf, Есть подробные определения и введения. Когда мы проанализируем журнал HCI позже, мы также будем ссылаться на контент, определенный в этой спецификации.

Полная архитектура Bluetooth

2. Как захватить журнал HCI

Открыть в настройках разработчикаВключить журнал сбора информации Bluetooth HCIПереключатель, система Android будет автоматически собирать журнал HCI и сохранять его на телефоне.

Включить журнал сбора информации Bluetooth HCI

Различные платформы хранят журнал HCI по разным путям.MTKПуть для хранения журнала HCI/sdcard/mtklog/btlog/btsnoop_hci.logQualcommПуть хранения/sdcard/btsnoop_hci.log

MTK:/ $ ls -l /sdcard/mtklog/btlog/ total 816 -rw-rw---- 1 root sdcard_rw 412258 2016-02-28 00:39 btsnoop_hci.log [email protected]:/ $ ls -l /sdcard/btsnoop_hci.log -rw-rw---- root sdcard_rw 12744 2017-06-16 15:43 btsnoop_hci.log 

Если в указанном выше пути нет журнала HCI, мы все равно можем использоватьФайл конфигурации Bluetooth bt_stack.conf для просмотра пути, Bt_stack.conf находится/etc/bluetooth/Под тропой. Путь к журналу HCI пройденBtSnoopFileName=/sdcard/btsnoop_hci.logЧтобы настроить это.

Путь регистрации HCI на мобильном телефоне

И bt_stack.conf через исходный код Android/system/bt/conf/bt_stack.confНастроить.

// /system/bt/conf/bt_stack.conf # BtSnoop log output file BtSnoopFileName=/sdcard/btsnoop_hci.log 

Вытащите захваченный журнал HCI и откройте его непосредственно с помощью Блокнота. Все, что вы видите, — искаженные символы. Нам также нужен инструмент анализа журнала HCI:Frontline ComProbe Protocol Analysis System

C:\Windows\System32>adb pull /sdcard/mtklog/btlog/btsnoop_hci.log C:\Users\admin\Desktop\hci 501 KB/s (4880 bytes in 0.009s) 

3. Инструмент анализа журнала HCI

Frontline ComProbe Protocol Analysis SystemЭто инструмент анализа журнала протокола Bluetooth, предоставленный Frontline. Компания Frontine в основном используется для захвата устройств регистрации Bluetooth Air Sniff. Давайте поговорим о регистрации Air Sniff позже. Приобрести их инструмент захвата пакетов будет поставляться с инструментом анализа журнала, вы также можетеFrontine официальный сайтЗагрузите и загрузите, вам нужно заполнить некоторую информацию при загрузке, студенты, которые находят проблемы, могут перейти к другимНеофициальный сайтСкачивать.

После завершения установки найдите Frontline ComProbe Protocol Analysis System в меню «Пуск» и используйте Capture File Viewer, чтобы открыть журнал HCI.

ComProbe Protocol Analysis System

Step 1. Сначала выберитеОткрыть журнал HCIИ выберите тип журнала какBtSnoop Files, То есть файл, оканчивающийся на * .log.
Другой способ — изменить суффикс btsnoop_hci.log на btsnoop_hci.cfa, а затем открыть его непосредственно с помощью Capture File Viewer.

Шаг 1. Откройте журнал HCI

Step 2. После открытия файла журнала выберитеFrame DisplayВы можете увидеть журнал HCI, который мы взяли

Шаг 2. Выберите Frame Display

Основной интерфейс Frame Display

Step 3В окне Frame Display имеется множество вкладок, которые могут отображать различные типы протоколов в стеке протоколов, например: журналы, относящиеся к HCI, размещаются на вкладке HCI,Hands-Free(HFP)принадлежатПрофиль Bluetooth на прикладном уровне, Журналы операций, связанных с HFP, размещаются на вкладке Hands-Free.

Читайте также:  Usb bluetooth audio driver

  • Air sniff log
    Журнал HCI, записанный на устройстве Android, может анализировать только проблему между Хостом и Контролем. Когда взаимодействие между Хостом и Контролем нормальное, оно может бытьВо время передачи (Air Interface)Если что-то пойдет не так, вам нужно проанализировать журнал Air Sniff. Журнал Air Sniff может захватывать воздушные пакеты двух устройств Bluetooth во время передачи данных. Для захвата журнала Air Sniff требуется специальное оборудование.

4. Журнал HCI-Bluetooth процесс сканирования устройства анализа процесса

Прикладной уровень вызываетstartDiscovery()При выполнении сканирования устройства,HostВышлю один через HCIInquiry HCI CommandдайтеController, Далее мы изучим процесс запроса, проанализировав журнал HCI. Прежде чем анализировать журнал HCI, давайте изучимПакет команд HCIСтруктура.

4.1 Структура пакета данных HCI Command

Структура пакета данных команды HCI определена в спецификации основного протокола BluetoothCore_v4.2.pdfв.

Формат пакета данных команды HCI выглядит следующим образом, началоКод операции — это уникальный идентификатор, который различает различные типы команд, Код операции поOpCode Group Field (OGF) с участием OpCode Command Field (OCF)сочинение. В соответствии со значением OGF, команды HCI могут быть классифицированы. Формула вычисления OpCode: ** OpCode = OGF , С помощью метода расчета OpCode мы можемФильтруйте указанный тип Команды HCI в ** Журнале HCI через OpCode.

4.2 Команда фильтра запроса

Inquiry CommandдаLink Control commandТип команды по запросуBluetooth Core SpecificationизVol 2->Part E->7.1 LINK CONTROL COMMANDSРаздел, мы можем увидеть команду Link ControlЗначение OCF 0x0001

Каталог спецификаций Bluetooth Core

For the Link Control commands, the OGF is defined as 0x01

Система анализа протокола ComProbe поддерживает функцию фильтрации черезУстановить фильтрЖурнал, код операции которого 0x0401, может быть отфильтрован, метод установки следующий:

4.3 Анализ процесса сканирования

  • Хост отправляет команду HCI_Inquiry
    Прикладной уровень собирается сканировать устройства Bluetooth, хост сначала отправляет команду HCI_Inquiry для уведомления контроллера

  • Контроллер отвечает на событие HCI
    После того, как контроллер получит команду HCI_Inquiry, он будетОтвет на событие HCI с командным статусом, Для представления состояния после того, как Контроллер выполняет HCI_Inquiry, а именноStatus:Success, Если вы посмотрите внимательно, то обнаружите, что метки кадров двух журналов HCI расположены рядом друг с другом, номер кадра HCI_Inquiry равен 196, а номер кадра состояния команд равен 197.

2. Результаты сканирования

Сканирование завершеноПозже контроллер отправит событие:HCI Extended Inquiry Result, Поиск в спискеJabra Classic v0.5.3Например, его пакет результатов расширенного запроса HCI будет содержатьНазвание оборудования, ЭтоUUID поддерживаемого Сервиса,с участиемТип оборудованияWearable Headset deviceПоэтому Icon of Jabra Classic v0.5.3 являетсяЗначок наушников

Читайте также:  Пользуюсь wi fi через bluetooth

HCI расширенный запрос Результат Jabra Classic v0.5.3

5. Ссылка

из: рубцевание раны должно
Ссылка: https://www.jianshu.com/p/73f7366161d1
Источник: Цзяньшу
Авторские права принадлежат автору. Для коммерческих перепечаток, пожалуйста, свяжитесь с автором для авторизации. Для некоммерческих перепечаток, пожалуйста, укажите источник.

Интеллектуальная рекомендация

Модель производителя и потребителя

Модель производителя и потребителя Эта статья в основном следует за статьейСинхронизация потоков и взаимное исключениеПродолжайте изучать проблему синхронизации потоков, мьютексы, условные переменные.

Доверенные идеи дизайна

Доверенные идеи дизайна существоватьПредыдущая статьяСреди них мы кратко понимаем механизм ввода в эксплуатацию, поэтому давайте посмотрим на дизайнерские идеи доверенности. Overview Я думаю, что вы и.

Apache добавляет виртуальную машину

1. Файл конфигурации Apache httpd.conf, vhosts.conf 2. Добавьте виртуальную машину под VHOSTS.CONF DocumentRoot «D:\www\mxhy\backend\web» .

Я хочу сделать письменное резюме тестового Андроидом

Два: Как повысить конверсию Binary → десятичное Метод: Количество двоичных чисел от низкого до высокого (т.е. от правых слева), веса 0 — го бита 2 0 раз, вес первого бита 2, вес второго бита 2 в .

Python использует технологию перехвата для взлома https, получения имени пользователя и пароля для входа!

По сравнению с протоколом http отличительной чертой https является его безопасность. Коммуникационное содержимое протокола http может быть перехвачено обычным сниффером, но содержимое снифферов.

Источник

btsnoop_hci.log — что за файл?

  • Описание
  • Разбираемся
  • Вывод

Приветствую. Сегодня поговорим об одном файле, который можете встретить на смартфоне под управлением Андроид.

Описание

btsnoop_hci.log — лог-файл, который создается при прослушивании трафика Блютуз, когда активна функция Журнал Bluetooth HCI.

Разбираемся

  1. При проведении глубокой очистки можно обнаружить btsnoop_hci.log, который может весить прилично, например более 2 гигабайта.
  2. По информации в интернете — это отчет, лог, на работу программ никак не влияет, поэтому можно удалить. Только сперва отключите журнал трансляций операций HCI Bluetooth. Если этого пункта нет, значит функция отключена, просто удалите файл.
  3. Но что вообще за btsnoop_hci.log? Это файл, в который записывают данные о прослушивании трафика Блютуз. Точнее записывается информация о пакетах, обычному пользователю это вряд ли может быть интересно. Но поэтому и размер может быть большой — так как туда постоянно складируются данные, особенно когда Блютуз включен.

Как отключить создание btsnoop_hci.log? На самом деле просто. Сперва откройте настройки устройства:

Далее находим пункт Для разработчиков:

Далее необходимо отключить опцию Включить журнал трансляций операций HCI Bluetooth:

После отключения опции — можно удалить файл btsnoop_hci.log. Он больше появляться не должен.

Пункт также может называться немного иначе, а именно Журнал Bluetooth HCI:

Заключение

  • btsnoop_hci.log — файл содержит данные о пакетах трафика Блютуз, чтобы файл не создавался нужно отключить опцию прослушивания Блютуз.
  • Сам файл можно спокойно удалить, если вы только не собираетесь анализировать данные. Но лучше перед удалением отключить функцию.

Удачи и добра. До новых встреч друзья!

Источник

Оцените статью
Adblock
detector