Настройки ble что это

BLE под микроскопом

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

BLE под микроскопом. Часть 1

Зачем придумали BLE

Как только люди научились передавать информацию без помощи проводов, встала задача передачи данных, используя устройство с батарейным питанием. Проблема в том, что ему должно помогать другое устройство, которое будет постоянно либо прослушивать эфир, либо передавать данные. Проблема возникает в том случае, если и приемник и передатчик имеют батарейное питание. В этом случае приходит на помощь BlueTooth Low Energy (BLE). Он впервые вошел в протокол BlueTooth 4.0. На данный момент уже вышла спецификация BlueTooth 5.0, однако мы будем рассматривать в основном формат BlueTooth 4.0, иногда указывая нововведения для формата 5.0. В качестве одного из устройств обычно выступает смартфон, а второго — батарейный гаджет. Андроид поддерживает BLE с версии 4.3.

Для передачи и приема данных необходима энергия, поэтому поднимают скорость передачи данных, что бы в единицу времени успеть передать больше информации. Для этого в BLE принята скорость передачи информации в 1 Mbit/c. Однако не только скорость передачи данных важна. Самым важным в BLE является то, что устройства связи умеют переходить в синхронный режим работы. Другими словами, устройства спят 99% времени, потом просыпаются на очень короткое время, обмениваются информацией и опять засыпают. Однако перед тем как войти в этот режим, необходимо пройти процедуру синхронизации. Для этого существует режим «advertising». Его мы рассмотрим позднее. А перед тем как погрузится в описание протокола BLE, хотелось бы затронуть тему инструментальных средств, для работы с протоколом BLE.

Инструменты

Для того чтобы разобраться во всем многообразии посылок и запросов нам необходимы инструментальные средства. С их помощью мы смогли бы увидеть содержимое посылок и проконтролировать механизм взаимодействия между устройствами. Для этих целей мы будем использовать nRF51822 Development Dongle (PCA10000), программу сниффера и, для отображения результатов, хорошо известную всем сисадминам программу «Wireshark».

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Программы бесплатные, но достать сам донгл может оказаться проблемой. Однако без инструментария, заниматься разработкой таких сложных устройств будет весьма проблематично. На первом этапе может помочь программа на андроиде «nRF Connect».

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Она позволяет сканировать эфир, находить и разбирать посылки как присоединяемых, так и не присоединяемых устройств. У Nordic-a есть и ещё инструменты для разработки BLE устройств, но нам будет достаточно этих. На российском рынке присутствует представитель компании Nordic – фирма «Rutronik» (rutronik24.com, rutronik.com). Через её представителей можно приобрести необходимые микросхемы, отладочные платы и т.д. Кроме того, в интернете имеется форум, на котором представители фирмы отвечают на вопросы разработчиков.

Сначала вкратце поговорим о том, как пользоваться нашими инструментами. Вставим в разъем USB наш донгл и запустим программу ble_sniffer_win. Мы увидим следующее окно.

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Если донгл увидит BLE устройства, то внизу появится информация о них. В данном случае, в эфире присутствует одно устройство с именем «TestBLE». Так же отображается его уровень сигнала, MAC адрес и то, что этот адрес является случайным (random). Забегая вперед, хочется заметить, что здесь кроется один из подводных камней для разработчиков. Некоторые телефоны (LG G3S, Samsung S6) работают только с устройствами, MAC адреса которых зарегистрированы (public).

У сниффера есть два режима работы. Если мы нажмем кнопку «w» на клавиатуре, то запустится программа «Wireshark». Сниффер будет сканировать три рекламных канала и выдавать информацию обо всех устройствах объявления. Если мы сначала нажмем цифру на клавиатуре, такую же, как напротив интересующего нас устройства, то включится другой режим работы. В нем сниффер будет отслеживать трафик только одного выбранного устройства, причем как на каналах объявления, так и на рабочих каналах

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Используя «Wireshark», легко получить всю информацию о посылке. Программа состоит из трех окон. Сверху отображаются все принятые посылки, во втором окне – детальная информация о выбранном пакете, а в третьем окне отображается сам фрейм. В свою очередь, во втором окне имеется три блока информации. В самом верхнем – временные значения выбранного фрейма, во втором (Nordic BLE sniffer meta) – общая информация о фрейме, такие как уровень сигнала, частотный канал и некоторые другие. Самым интересным для нас является третий блок информации (Bluetooth Low Energy Link Layer). В нем можно посмотреть разбор самого фрейма. В дальнейшем мы будем говорить именно об этом блоке информации. Сначала мы разберем формирование рекламных пакетов.

Advertising

Посмотрим на рисунок ниже. На нем показаны распределения каналов по частотам для BLE. Рекламные каналы — это 37 (2402Мгц), 38 (2426Мгц) и 39 (2480Мгц) каналы. Такое распределение рекламных каналов выбрано не случайно. Во-первых, рекламные каналы попадают между каналами Wi-Fi (1, 6, 11 каналы), что позволяет даже при малом уровне мощности, быть услышанными другими устройствами. Во-вторых, когда мы разносим рекламные каналы далеко друг от друга, мы получаем гарантированную доставку сообщения. Это связано с интерференцией сигнала в помещениях. Известно, что в результате отражения радиосигналов от стен, может получиться ситуация, когда приемник и передатчик не слышат друг друга. Однако в нашем случае, когда передача рекламных пакетов идет последовательно на трех разных каналах, максимально удаленных друг от друга по частоте, этот эффект отсутствует.

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Рассмотрим теперь формат самого пакета advertising. В спецификации длина данных измеряется в октетах. Для нас это байты. Самым первым байтом идет преамбула. Она состоит из чередующихся нулей и единиц. Это нужно для синхронизации передатчика и приемника. Следом за преамбулой передаются четыре байта адреса доступа(Access Address). После него идет пакет данных (PDU). В спецификции 4.0 максимальная длина PDU составляет 39 байт, а в версии 5.0 длина пакета данных увеличена до 257 байт. В конце каждого рекламного пакета идут три байта контрольной суммы (CRC).

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Здесь надо заметить, что Access Address служит для того, что бы устройства понимали, для кого предназначен BLE пакет. Это своеобразный код доступа. Если этот код доступа не знаком устройству, то пакет игнорируется. На всех рекламных каналах, в отличии от рабочих, он одинаков (0x8E89BED6), поэтому все устройства на каналах объявления видят друг друга.

Рассмотрим теперь формат блока данных PDU. В самом начале пакета PDU идет заголовок длинной 16 бит. В нем содержится тип пакета, флаги TxAdd, RxAdd, а так же длина всего поля PDU в байтах. RFU – это зарезервированные поля. Для спецификации 4.0 это выглядит так:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Для спецификации 5.0 увеличена длина поля Payload до 255 байт, а так же добавлены новые поля в заголовок:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Поле TxAdd как раз и отвечает за то, как будет видеться MAC адрес устройства. Если это поле равно единице, то МАС устройства будет виден как random. Рассмотрим теперь какие бывают типы advertising пакетов. На рисунке приведен их список для спецификации 4.0. В формате 5.0 их число увеличено, но мы будем рассматривать то, что есть в обоих форматах.

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

ADV_IND – это ненаправленные пакеты, которые рассылают устройства, готовые к присоединению. Большинство гаджетов при рассылке рекламных пакетов используют именно их.

ADV_DIRECT_IND — направленные рекламные пакеты присоединяемых устройств. Присоединять и обмениваться данными с ними может только конкретное устройство с заранее известным МАС адресом.

ADV_NONCONN_IND – рекламные пакеты, которые рассылают не присоединяемые устройства. Это маяки (beacon). Обычно они служат для получения какой-либо справочной информации. Например, при входе в магазин могут информировать об акциях. Кроме того, измеряя уровень сигналов от маяков и зная карту их расположения, можно осуществить автоматическое позиционирование внутри помещений. Это актуально для автоматизированных складов.

SCAN_REQ, SCAN_RSP, CONNECT_REQ – пакеты, которыми обмениваются присоединяемое устройство и телефон в процессе установления синхронного соединения. Эти пакеты и сам процесс присоединения мы рассмотрим во второй части статьи.

ADV_SCAN_IND – эти пакеты рассылает не присоединяемое устройство, которое может предоставить дополнительную информацию в ответ на запрос при сканировании.

Во второй части статьи мы рассмотрим различные режимы работы BLE устройств, а так же механизм «присоединения» устройства к телефону и переход на рабочие частоты.

Источник

Протокол Bluetooth Low Energy: поддержка устройствами и специфика работы

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Способов трансляции данных «по воздуху» создано и используется довольно много. Популярностью обзавелся протокол BLE, который внедрен в электронику различного типа и успешно используется и по сей день. Что из себя представляет данный протокол и в каких сферах применим — рассмотрено в этой статье.

Зачем разработали BLE

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

После изучения и успешного применения передачи информации без проводов, появилась потребность передавать данные, используя устройства с автономными источниками питания. Проблема состоит в том, что с этим устройством должно работать еще одно, которое постоянно передает данные либо слушает эфир.

Если у приемника и передатчика имеется батарейное питание, то наблюдаются проблемы со связью при разрыве постоянной передачи связи для экономии энергии, которые решили с новым протоколом передачи данных BlueTooth Low Energy (BLE).

BLE – это режим низкого энергопотребления, способствующий экономии заряда аккумулятора у сопряженных устройств.

Протокол стал частью Bluetooth 4.0. Операционная система Android поддерживает BLE с версии 4.3. В качестве пары, работающей с BLE, берется телефон с современной ОС, совместно с батарейной малой техникой (например, гарнитура). Но не исключены и взаимодействия иных гаджетов.

Чтобы принимать и передавать данные в необходимом объеме беспроводным способом, в стандарт Bluetooth LE включена скорость передачи информации, равная 1 Мбит/сек. Постоянный обмен данными затрачивает энергию, тем самым расходуя ее запасы. Поэтому протокол подразумевает разрыв постоянного эфира для экономии. Поэтому в протоколе не только важна скорость, а и то, что гаджеты умеют синхронизироваться друг с другом тогда, когда это необходимо.

Около 99% всего времени гаджеты спят и экономят энергию. Потом просыпаются на короткий период для обмена данными и снова засыпают. Но чтобы пребывать в данном режиме, устройства сперва между собой необходимо синхронизировать. Этот режим и называется advertising.

В каких сферах применяется

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

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

Множество задач могут решаться, когда в радиусе двухуровневого модуля определяются иные одноуровневые BLE-приборы. К этим приборам относятся приборы-сигнализаторы, что уведомляют владельца об удалении от сумки, барсетки, кошелька, переносной тары и иных персональных вещей, оснащенных BLE-модулем. Отличное применение данным брелкам с BLE находят в качестве маячков для ребенка, чтобы не потерять его в достаточно людных местах.

Устойчивая работа и низкое энергопотребление протокола BLE позволяют рассматривать его в качестве замены NFC, а именно RFID-меток. Но вариант совмещенной работы BLE + NFC выглядит более привлекательно. BLE дает большой радиус, сопряженный с устойчивой работой, второй отвечает за логическое сопряжение пары, плюс обеспечивает надежную защиту за счет малого радиуса действия.

Не обходят стороной данную спецификацию в системах умных домов. Работа приборов через блютуз с низким энергопотреблением позволяет открывать удаленно двери, ворота и приводить в действие прочие механизмы с большого расстояния, подолгу не меняя аккумулятор в беспроводном и компактном органе управления.

Кроме того, внедрение в смартфон, который всегда под рукой, BLE-модуля позволит на приличном удалении через сопряженные каналы управлять любыми приборами и аксессуарами умного дома. Или подключаться к сенсорной панели для удаленного управления с другой комнаты.

Поддерживаемые устройства

Определение поддержки

Множество таких «определителей» находится в Play Market и доступны для использования бесплатно. Модели телефонов, выпущенные до 2015 года включительно, могут не поддерживать данную опцию.

Вопросы безопасности BLE

Защита канала передачи данных между парой устройств в протоколе BLE обусловлена двумя режимами LE Секьюрити мод 1 и LE Секьюрити мод 2. Первый режим работает на Data Link layer (DLL), второй на AT&T.

На DLL в протоколе Bluetooth LE присутствует шифрование и аутентификация с помощью технологии построения аутентификационного кода сообщения из блочного алгоритма шифрования (CCM) и шифра AES-128. При работе CCM и AES-128, добавляется к ним Protocol Data Unit и дополнительное сообщение для идентификации целостности, размером 4-байта, после которого PDU и сообщение шифруются.

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

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Различия протоколов Bluetooth

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Так как Блютуз с низким энергопотреблением вошел в спецификацию Bluetooth 4.0, то технические сравнения проведены с классической версией.

Классический Блютуз

Bluetooth Low Energy

Частота радиосигнала

Дальность действия

Количество ведомых устройств

Опция зависит от реализации

128-бит AES + Counter Mode

Общее время передачи информации (минимум)

Различия между BR / EDR и BLE-модулями в том, что первый делит полосу пропускания на 79 каналов с разносом в 1 МГц, а второй работает с передатчиком и приемником для разделения полосы на 40 каналов, с разбросом в 2 МГц.

Заключение

Bluetooth Low Energy – это протокол, специально разработанный для устройств с ограниченным источником автономной энергии, нуждающихся в отправке информации на протяжении нескольких дней или недель без подзарядки. Двухрежимными модулями BLE оснащаются смартфоны, планшетные ПК, ноутбуки. Однорежимные модули BLE используются в мелкой электронике и аксессуарах, типа измерителей пульса или бесконтактных ключей.

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Что такое Bluetooth Low Energy (BLE) и как его взламывают

Чтобы вы не ушли пока читаете скучную теорию — в этой статье я буду взламывать свою зубную щётку…

Bluetooth, как мы знаем, является одной из самых популярных и широко используемых беспроводных технологий в современном мире. В связи с быстрым ростом IoT, ускоряющим развитие технологии Bluetooth, Специальная группа по интересам Bluetooth (Bluetooth Special Interest Group (SIG)) предпринимает постоянные усилия по увеличению скорости передачи с максимальным акцентом на маяки, развлечения, сферу здравоохранения и фитнес.

Bluetooth Low Energy (BLE) является частью спецификации Bluetooth 4.0, которая также включает протоколы классического Bluetooth и протокол высокоскоростного Bluetooth (Classic Bluetooth and Bluetooth High Speed Protocols). По сравнению с классическим Bluetooth, BLE предназначен для использования меньшей мощности при сохранении аналогичного диапазона связи. BLE — это технология, которая всегда отключена и передаёт только короткие объёмы данных, когда это необходимо. Это значительно снижает энергопотребление, что делает его идеальным для использования в случаях, когда требуется постоянное долговременное соединение с низкой скоростью передачи данных. BLE идеально подходит для пульта дистанционного управления телевизором, но не для беспроводного устройства потоковой передачи мультимедиа, которому для передачи требуется большой объем данных.

Изначально Nokia разработала BLE для собственного проекта под названием «WIBREE», который впоследствии был передан Bluetooth SIG. BLE был задуман с акцентом на лучшую скорость сопряжения и энергоэффективность.

Что выделяет BLE?

На бумаге BLE выглядит хорошо, а как на практике?

Это хороший вопрос с точки зрения безопасности. Дело в том, что BLE — это просто протокол. Изготовители должны безопасно внедрить BLE в своё устройство. Известно, что даже самый сильный криптографический протокол не будет работать, если генератор случайных чисел не является «достаточно случайным». То же самое относится и к BLE. Таким образом, можно сказать, что безопасность BLE лежит в руках его исполнителей.

В то время как все устройства Bluetooth с низким энергопотреблением были разработаны с основной целью улучшения взаимодействия с пользователем, безопасность заняла последнее место во время процесса?

Давайте посмотрим на три основные уязвимости, которым BLE могут подвергать своих пользователей:

Итак, резюмируя, по своей задумке BLE это упрощённая версия Bluetooth, которая всегда не меняет каналы (частоты), что облегчает сниффинг и атаку человек-посередине. BLE не имеет встроенного протокола обеспечения безопасности. Реализация безопасности BLE возложена на производителей конечных устройств, которые не всегда подходят к этому добросовестно. По этой причине многие BLE устройства можно легко обнаружить практически в любое время их работы. При этом зачастую они не содержат каких-либо механизмов для ограничения чтения и даже записи на них, то есть открыты для подключения и модификации кому угодно.

Основные понятия в BLE

В BLE есть два основных понятия.

Общий профиль доступа (GAP)

Он ответственен за подключение и распространения информации о наличии устройства BLE. GAP отвечает за видимость устройства во внешнем мире, а также играет важную роль в определении того, как устройство взаимодействует с другими устройствами.

Следующие две концепции являются неотъемлемой частью GAP:

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

Центральные устройства: в основном это мобильные телефоны или гаджеты с увеличенной памятью и вычислительной мощностью.

Advertising process (обеспечение видимости устройства)

Процесс обнаружения устройств заключается в том, что Периферийное устройство в заданные интервалы отправляет в округу данные о своём существовании. Если эти данные получит Центральное устройство, то оно отправит запрос на сканирование. В ответ Периферийное устройство пришлёт данные результата сканирования.

Периферийное устройство будет отправлять «рекламные» данные каждые 2 секунды. Если центральное устройство готово прослушать рекламные пакеты, оно ответит запросом сканирования. В ответ на этот запрос периферийное устройство отправит данные ответа сканирования. Таким образом, центральное и периферийное устройства узнают друг о друге и связывается друг с другом.

Протокол общих атрибутов (GATT)

Используя общий протокол данных, известный как протокол атрибутов, GATT определяет, как два устройства BLE обмениваются данными друг с другом, используя понятия — сервис (service) и характеристика (characteristic). Этот протокол сохраняет все сервисы и характеристики в справочной таблице с использованием 16-битных идентификаторов, как указано в Bluetooth SIG. Важно отметить, что GATT инициируется только после того, как Advertising процесс, регулируемый GAP, завершён.

Две основные концепции, которые образуют GATT

Сервисы

Сервисы можно представить просто как шкаф, в котором может быть много ящиков, которые в свою очередь называются характеристиками. Сервис может иметь много характеристик. Каждый сервис уникален сам по себе с универсально уникальным идентификатором (UUID), который может быть размером 16 бит для официальных адаптированных сервисов или 128 бит для пользовательских сервисов.

Характеристики

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

Вот спецификации SIG для характеристик и сервисов для устройств BLE. Любое устройство BLE, которое официально приняло UUID от SIG, должно использовать идентификатор, указанный ими в своих приложениях.

Например, официальный UUID мощности передачи (TX power) в соответствии с мандатом SIG равен 0x1804.

Чтобы было наглядно, посмотрите на этот пример сервисов и характеристик конкретного устройства:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Ещё один 16-битный сервис это «Generic Attribute (1801)», он содержит только одну 16-битную характеристику: Service Changed (2a05).

Далее идут три 128-битные сервиса, первый из них «a0f0fff050474d5382084f72616c2d42», содержит четыре 128-битных характеристики:

Имеется проблема в идентификации сервисов и характеристик. Для 16-битных сервисов и характеристик всё просто, ссылки на их значения даны выше. Что касается 128-битных сервисов и характеристик, то они у каждого производителя могут быть свои. То есть нужно приложит некоторые усилия, чтобы, к примеру, сопоставить что-то вроде d0611e78-bbb4-4591-a5f8-487910ae4366 с чем-то вроде Apple Continuity Service. Для сопоставления можно использовать как минимум два подхода:

Как взломать Bluetooth Low Energy

Суть процесса взлома Bluetooth Low Energy можно описать следующими стадиями:

Четвёртый этап является творческим и самым сложным. Иногда роль характеристик можно найти в документации разработчиков для данного устройства. Иногда приходится перебирать значения и смотреть, что поменялось в устройстве. Самый сложный вариант — это обратная инженерия перехваченного Bluetooth трафика или приложения для управление устройством.

Я покажу пример изменения BLE параметров на устройстве с помощью bettercap.

Вводим команду для включения модуля по обнаружению BLE устройств:

При обнаружении новых устройств и при потере видимости устройств будут выводиться примерно следующие сообщения:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Чтобы вывести устройства, которые в данный момент в пределах досягаемости, выполните команду:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Для показа характеристик конкретного устройства, запустите команду следующего вида, где вместо MAC укажите MAC-адрес устройства:

К примеру, меня интересует устройство C8:DF:84:1A:9F:26:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

В столбце Properties вы увидите свойства данной характеристики, они могут быть:

В колонке Data присутствует текущее значение характеристики, либо дополнительная информация, например:

Для записи данных HEX_DATA в BLE устройство с указанным MAC адресом, в характеристику с идентификатором UUID:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Чтобы знать, что именно записывать, нужно понимать, за что отвечают характеристики. Вот пример значений для моего устройства — это электрическая зубная щётка Oral-B Genius 9000 (кстати, рекомендую). Значение характеристик я нашёл в Интернете.

Исследование и взлом Bluetooth Low Energy (BLE) с телефона

Поскольку на всех современных телефонах имеется Bluetooth, то вы можете использовать приложения для работы с Bluetooth Low Energy (BLE) окружающих устройств на телефоне.

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Пример такого приложения — nRF Connect — бесплатная программа программа для Android, которая умеет сканировать для поиска BLE устройств, подключаться к ним и менять значение характеристик. Программа поддерживает макросы и другие продвинутые функции.

Просмотр сервисов устройства:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Просмотр свойств характеристик:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Редактирование значений характеристик:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Работа с Bluetooth Low Energy (BLE) в Linux

Конечно, в Linux можно работать с устройствами, поддерживающими BLE, напрямую, без таких программ как Bettercap.

К сожалению, этот аспект довольно запутанный. В Debian и производных программы для работы с Bluetooth Low Energy собраны в пакете bluez. В Arch Linux и производных, пакет bluez также имеется, но утилиты, которые нас интересуют, помещены в пакет bluez-utils. Но не это самая большая проблема.

После очередного обновления утилит bluez, авторы вдруг признали многие важные программы «устаревшими», а именно устаревшими объявлены:

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

Была составлена такая таблица замены:

Устаревший инструментСамая подходящая замена
gatttoolbtgatt-client, D-Bus Gatt API
hciattachbtattach
hciconfigbtmgmt (и bluetoothctl?)
hcidumpbtmon (и btsnoop)
hcitoolотсутствует, доступно в D-Bus Device API
rfcommотсутствует, реализовано в D-Bus Profile1 API?
ciptool
sdptoolотсутствует, кажется, что функциональность разбросана по разным объектам D-Bus: Profile, Advertising, и массивы UUIDs в device и adapter.

Слова «отсутствует» не вселяют уверенности. По этой причине для Debian и производных этот пакет компилируется с ключом —enable-deprecated, а на Arch Linux в дополнении к пакету bluez-utils, доступному в стандартных репозиториях, в AUR имеется пакет bluez-utils-compat, в котором тоже включены устаревшие инструменты.

В относительно свежих инструкциях, для взаимодействия с Bluetooth Low Energy используются утилиты:

Поскольку они устарели и однажды всё-таки будут удалены окончательно, рассмотрим несколько простых вариантов использования их замен для поиска BLE устройств и получения с них данных.

Если запустить программу btmgmt:

И в ней выполнить команду:

То она выведет список обнаруженных устройств:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Будут выведены как BLE, так и обычные Bluetooth устройства.

Также умеет искать BLE устройства, если ввести:

С помощью команды connect можно подключиться к устройству, для этого нужно указать его MAC-адрес:

Информация по устройству:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Если перейти в меню GATT:

То можно получить список характеристик:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

А также перезаписать характеристики устройства.

Для получения информации по отдельным характеристикам:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Ещё одна программа, которая выведет сразу все характеристики устройства — btgatt-client. Например, выполним подключение и посмотрим характеристики устройства с MAC C8:DF:84:1A:9F:26:

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

В дополнении к рассмотренным программам, в отдельной консоли можно запустить Bluetooth monitor:

Как и полагается программе-монитору, она будет выводить множество информации о происходящем с Bluetooth и об обнаруженных устройствах.

Настройки ble что это. Смотреть фото Настройки ble что это. Смотреть картинку Настройки ble что это. Картинка про Настройки ble что это. Фото Настройки ble что это

Заключение

Системные утилиты Linux для работы с Bluetooth заслуживают более внимательного изучения — с их помощью можно узнать более подробную информацию о своей системе и сделать тонкую настройку Bluetooth адаптера.

Также с помощью них можно реализовать сканеры BLE и Bluetooth устройств и/или написать или приспособить фаззеры для исследования назначения характеристик BLE устройств. Поэтому вполне возможно, что в одной из следующих статей будут более подробно рассмотрены программы для работы с BLE.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *