Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
BTLE — Сниффер пакетов и передатчик Bluetooth Low Energy (BLE) для стандартных и нестандартных (сырых битов) на основе программно-определяемого радио (SDR). | Kitploit
Инструменты/GitHubGitHub/jiaoxianjun/btle
Сниффинг и анализ пакетовБезопасность BluetoothБезопасность IoTБезопасность беспроводных сетейТоп в Безопасность Bluetooth №6
GitHubjiaoxianjun/btle

BTLE

Сниффер пакетов и передатчик Bluetooth Low Energy (BLE) для стандартных и нестандартных (сырых битов) на основе программно-определяемого радио (SDR).

Репозиторий
941176293 месяцев назадПроверено Kitploit
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

BTLE

========

BTLE — это бесплатный и открытый программный комплекс Software Defined Radio (SDR) для Bluetooth Low Energy (BLE), а также открытая разработка BTLE-чипа.

Включает в себя:

  • Описание алгоритмов BTLE baseband, реализацию на Python и Verilog, результаты для FPGA и SkyWater 130 PDK (рабочий процесс OpenLane2).
  • Реализацию на базе Analog Devices AD9361 + Xilinx Zynq FPGA: FPGA Bluetooth
  • btle_rx — BLE-сниффер. Помимо прослушивания широковещательного/фиксированного канала, он также может отслеживать перескок частоты (hopping) канала связи.
  • btle_tx — универсальный передатчик BLE-пакетов. Помимо стандарта BLE, он также поддерживает режим raw bit для генерации произвольных GFSK-пакетов. Таким образом, вы можете тестировать нестандартный протокол или обсуждаемый стандарт до появления чипа на рынке.

Возможности

  • PHY и верхние уровни реализованы в программном обеспечении (язык C). Полная гибкость Software Defined Radio.
  • Стандартный BLE PHY с GFSK 1 Мбит/с.
  • Поддерживаются все форматы пакетов канального уровня для ADV и DATA каналов из Core_V4.0 (главы 2 и 3, часть B, том 6).
  • Сниффер способен автоматически анализировать и отслеживать схему перескока частоты, не ограничиваясь широковещательным или фиксированным каналом.

Оборудование

  • HackRF
  • bladeRF
  • совместимая версия библиотек HackRF и bladeRF

Сборка и быстрая проверка

Убедитесь, что ваше SDR-оборудование (драйвер/библиотека) настроено правильно, прежде чем запускать этот проект.

git clone https://github.com/JiaoXianjun/BTLE.git
cd BTLE/host
mkdir build
cd build
cmake ../                   (default. for HackRF)
cmake ../ -DUSE_BLADERF=1   (only for bladeRF)

make
./btle-tools/src/btle_rx

Приведённая выше команда выполняет сниффинг на канале 37. Если рядом есть BLE-устройства (телефон/планшет/ноутбук), на экране должно появиться множество пакетов.

./btle-tools/src/btle_tx 37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-LOCAL_NAME09-SDR/Bluetooth/Low/Energy r500 

Приведённая выше команда передаёт discovery-пакеты в ADV-канале. В другом BLE-сниффере (например, LightBlue) вы должны увидеть устройство с именем "SDR/Bluetooth/Low/Energy".

Для более быстрой последовательности операций на HACKRF используйте следующее:

#define TRANSFER_COUNT 4
#define TRANSFER_BUFFER_SIZE 4096

в hackrf/host/libhackrf/src/hackrf.c. Затем перекомпилируйте библиотеку HACKRF и переустановите её. Не забудьте перекомпилировать BTLE, чтобы изменения библиотеки HACKRF вступили в силу.

Кроме инструментов, в каталоге matlab содержатся сценарии оценки алгоритмов и другие полезные скрипты

Использование btle_rx

-h --help

Вывести все аргументы/варианты использования.

-c --chan

Номер канала. По умолчанию 37 (один из ADV-каналов). Допустимые значения 0~39 (все ADV- и DATA-каналы).

-g --gain

Коэффициент усиления при приёме (Rx gain) в дБ. У HACKRF rxvga по умолчанию 6, диапазон 0–62. У bladeRF по умолчанию максимальный Rx gain 66 дБ (диапазон 0–66). Усиление следует подбирать очень тщательно, чтобы обеспечить наилучшую производительность в ваших условиях. Рекомендуется начинать с низкого усиления, потому что высокое усиление всегда вызывает сильные искажения и не даёт результата.

-l --lnaGain

Коэффициент усиления LNA в дБ (только HackRF). По умолчанию 32, диапазон 0–40. Усиление следует подбирать очень тщательно, чтобы обеспечить наилучшую производительность в ваших условиях.

-b --amp

Включить усилитель (amp) (только HackRF). По умолчанию выключен.

-a --access

Адрес доступа (access address). По умолчанию 8e89bed6 для ADV-каналов 37, 38, 39. Для data-канала следует указывать правильное значение в соответствии с захваченной процедурой установки соединения.

-k --crcinit

По умолчанию 555555 для ADV-канала. Для data-канала следует указывать правильное значение в соответствии с захваченной процедурой установки соединения.

-v --verbose

Подробный режим. Выводить больше информации при ошибке

-r --raw

Сырой режим. После обнаружения адреса доступа выводить следующие 42 сырых байта (без дескремблирования и разбора)

-f --freq_hz (need argument)

Эта частота (Гц) переопределит настройку канала (если нужно работать на частоте, отличной от BTLE. Более универсально).

-m --access_mask (need argument)

Если в этой маске бит равен 1, соответствующий бит адреса доступа будет учитываться при принятии решения о наличии пакета (если нужна более короткая/разреженная уникальная последовательность для обнаружения пакета. Более универсально).

-o --hop

Включает отслеживание data-канала (перескок частоты) после того, как информация о настройке соединения захвачена в пакете ADV_CONNECT_REQ на ADV-канале.

-s --filename

Сохранять пакеты в pcap-файл.

Использование btle_tx

btle_tx packet1 packet2 ... packetX ...  rN

или

btle_tx packets.txt

packets.txt — это текстовый файл, содержащий параметры командной строки (packet1 packet2 ... rN). Один параметр в строке. Строка, начинающаяся с "#", считается комментарием. См. пример packets.txt

packetX 

это одна строка, описывающая один пакет. Все пакеты образуют последовательность пакетов.

rN

означает, что последовательность будет повторена N раз. Если параметр не указан, последовательность будет отправлена только один раз.

Формат строки packetX

channel_number-packet_type-field-value-field-value-...-Space-value

Каждая строка-дескриптор начинается с номера BTLE-канала (0~39), затем следует packet_type (RAW/iBeacon/ADV_IND/ADV_DIRECT_IND/и т. д. См. все примеры форматов В КОНЦЕ: Приложение), затем пара поле-значение, специфичная для packet_type, и в конце — пара Space-value (необязательная), где значение указывает, сколько миллисекунд ожидать после отправки этого пакета.

НЕ используйте пробел " " в дескрипторе пакета в командной строке. В дескрипторе пакета в txt-файле пробел использовать МОЖНО.

НЕ используйте "-" внутри каждого поля. "-" — это служебный символ, используемый для разделения полей в дескрипторе пакета.

  • btle_tx пример: Discovery-пакеты

Откройте приложение LightBlue (или другой BLE-сниффер) на iPhone/устройстве перед выполнением этой команды:

./btle-tools/src/btle_tx ../btle-tools/src/packets_discovery.txt

В приложении LightBlue вы увидите устройство с именем "SDR Bluetooth Low Energy".

Соответствующая командная строка:

./btle-tools/src/btle_tx 37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-LOCAL_NAME09-SDR/Bluetooth/Low/Energy r40

Примечание: пробел " " заменён на "/", поскольку пробел " " не поддерживается в командной строке.

Скачать инструмент