Сравнение решений для захвата пакетов радиоинтерфейса BLE
Сравнение решений для захвата пакетов радиоинтерфейса BLE

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

PART1

Вариант 1

ubertooth one + wireshark

ubertooth one — это решение с открытым исходным кодом. Его можно купить на Taobao примерно за 800 юаней. Недостатком является то, что оно дорогое и может одновременно захватывать только один канал:

Язык кода:javascript
копировать
https://github.com/greatscottgadgets/ubertooth

01

Метод настройки среды

1. Установите связанные зависимости

Язык кода:javascript
копировать
sudo apt install cmake libusb-1.0-0-dev make gcc g++ libbluetooth-dev wget \
pkg-config python3-numpy python3-qtpy python3-distutils python3-setuptools

2. Установите libbtbb

Язык кода:javascript
копировать
wget https://github.com/greatscottgadgets/libbtbb/archive/2020-12-R1.tar.gz -O libbtbb-2020-12-R1.tar.gz
tar -xf libbtbb-2020-12-R1.tar.gz
cd libbtbb-2020-12-R1
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

3. Установите инструменты ubertooth.

Язык кода:javascript
копировать
wget https://github.com/greatscottgadgets/ubertooth/releases/download/2020-12-R1/ubertooth-2020-12-R1.tar.xz
tar -xf ubertooth-2020-12-R1.tar.xz
cd ubertooth-2020-12-R1/host
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

4. Установите Wireshark

Язык кода:javascript
копировать
sudo apt-get install wireshark wireshark-dev libwireshark-dev cmake

5. Настройте плагины BTBB и BREDR.

Язык кода:javascript
копировать
cd libbtbb-2020-12-R1/wireshark/plugins/btbb
mkdir build
cd build
cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu/wireshark/libwireshark3/plugins ..
make
sudo make install

Вернуться в предыдущий каталог

Язык кода:javascript
копировать
cd libbtbb-2020-12-R1/wireshark/plugins/btbredr
mkdir build
cd build
cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu/wireshark/libwireshark3/plugins ..
make
sudo make install
[Если здесь нет приглашения Python, сначала используйте командуwhereis. python3, а затем sudo ln -s /usr/bin/python3 /usr/bin/python】

6. Обновить прошивку

Найдите сжатый пакет в выпуске на github, найдите в нем bluetooth_rxtx.dfu и скопируйте его позже.

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

Язык кода:javascript
копировать
ubertooth-dfu -d bluetooth_rxtx.dfu -r

02

Учебное пособие

Сначала создайте коммуникационный конвейер

Язык кода:javascript
копировать
mkfifo /tmp/pipe

Введите в командной строке wireshark Открыть Wireshark, затем нажмите захватывать -> Параметры

(Не обращайте внимания на то, что скриншот сделан с платформы Windows)

Нажмите на интерфейс управления

Создайте новый канал /tmp/pipe.

Нажмите, чтобы начать захват пакетов, откройте новый терминал, вставьте терминал ubertooth и введите

Язык кода:javascript
копировать
ubertooth-btle -f -c /tmp/pipe

Вы можете видеть трафик, отображаемый в терминале, и в то же время wireshark 里也会захватыватьдля движения

PART2

Вариант 2

CC2540 + TI Packet Sniffer

CC2540 — чип от TI (Texas Instruments). Преимущество в том, что он дешевый. Его можно купить на Таобао примерно за 40. Недостаток — он может захватывать только один канал одновременно.

У TI есть поддерживающее официальное программное обеспечение: Packet Sniffer, просто установите его. После установки подключите тип протокола CC2540 и выберите Bluetooth для захвата пакетов.

Он сохранил формат файла psd, который можно преобразовать в формат pcap, распознаваемый Wireshark, с помощью проектов с открытым исходным кодом на Github:

Язык кода:javascript
копировать
https://github.com/joswr1ght/tibtle2pcap

PART3

Вариант третий

Hollong + wireshark

Инструмент захвата пакетов BLE, производимый Weitu, прост в использовании при использовании с Wireshark. Преимущество состоит в том, что он захватывает три широковещательных канала одновременно без проблем с вероятностью. Цена составляет около 800.

Предоставьте официальное программное обеспечение после установки Нажмите Открыть приложение

Настройте путь установки Wireshark, нажмите кнопку «Пуск» в строке меню и проверьте, какой из них выбран в правой части списка.

p.s. Выпущен еще один маломощный Bluetooth-прослушиватель Hollong на 9 каналов по цене 1376.

PART4

Вариант 4

nRF Sniffer+wireshark

В настоящее время я считаю, что наиболее экономически эффективным из них являются чипы серии Nordic nRF, либо 52840, либо 52832. Он может одновременно захватывать три канала вещания, а также может указывать оборудование для захвата пакетов. Первоначальная цена составляет около 160 долларов США. а Синчиде всего 60.

01

Конфигурация среды

1. Загрузите необходимые плагины по адресу:

Язык кода:javascript
копировать
https://www.nordicsemi.com/Products/Development-tools/nRF-Sniffer-for-Bluetooth-LE/Download?lang=en#infotabs

2. Запустите следующую команду в каталоге extcap в извлеченном каталоге, чтобы установить зависимости Python.

Язык кода:javascript
копировать
pip3 install -r requirements.txt

3、Открыть Wireshark, в помощь -> О Wireshark -> папка FindGlobal Extcap path путь внутри

поставь то, что было только что extcap папка Скопируйте содержимое в

Запустите эту команду. Если она выполнена успешно, как показано на рисунке ниже, используйте .sh в Linux.

Язык кода:javascript
копировать
nrf_sniffer_ble.bat --extcap-interfaces

02

Захват пакетов Учебное пособие

После подключения устройства wireshark иззахватывать->Обновите список интерфейсов, чтобы увидеть nRF Sniffer for Buletooth LE Этот интерфейс

Просто дважды щелкните захватывать,кроме того,существовать вид -> Панель инструментов интерфейса Есть инструмент в захватывать, который может указать данные каких адресов

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

Если настройки верны, вы можете увидеть данные.

03

Обновить прошивку сниффера

Открыть nRF Connect for Рабочий стол, найди это Programmer Открыть

Раскройте список, чтобы выбрать устройство

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

Выберите файл для записи

Найдите загруженный сжатый пакет в hex папка внутри,выбирать

Язык кода:javascript
копировать
sniffer_nrf52840dongle_nrf52840_4.1.0.hex

Просто нажмите «Написать» и запишите его.

PART5

Подвести итог

SUMMARY

nRF52840 является самым экономичным, он дешев и может одновременно захватывать три канала вещания. Он также может прошивать собственную прошивку для других целей. Hollong, на мой взгляд, является наиболее полезным решением при перехвате парного трафика, не связанного с Secure Connect, пакеты трафика, захваченные им, можно расшифровать с помощью треска, но пакеты трафика, захваченные nRF52840, не могут быть расшифрованы nRF52840. данные отсутствуют, еще не были тщательно проверены.

Статья опубликована в службе безопасности 1024. Просим всех мастеров обратить внимание.

Команда безопасности 1024 — это команда, созданная энтузиастами сетевой безопасности из компаний, занимающихся сетевой безопасностью, автомобильных компаний и университетов. Мы надеемся использовать эту платформу для лучшего общения и обмена передовыми технологиями. Текущие направления исследований включают, помимо прочего, Интернет. Безопасность транспортных средств, вещей. Сетевая безопасность, аппаратная безопасность, радиобезопасность и т. д. Мы набираем новых членов и с нетерпением ждем, когда к нам присоединятся новые друзья-единомышленники для технического обмена и обучения.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose