Первое знакомство с HackRF и gqrx


Вопросы анализа радиоэфира, за пределами Wi-Fi, Bluetooth и BLE для меня довольно новые. Поэтому когда я получил на почте свой HackRF, то у меня возник вопрос — а что с ним, собственно, делать? Эта статья посвящена именно этому — как проверить и задействовать HackRF. Для наглядности мы просто будем слушать FM радио. Что-то более серьёзное будет в последующих инструкциях.

Если вы тоже начинающий, то HackRF это радио (Software-defined radio), прибор, которые может отправлять и получать радиоволны в очень широком диапазоне. А gqrx — это одна из программ для работы с получаемыми через HackRF (или другими аналогичными устройствами) данными. У этой программы графический интерфейс и она очень подходит для самого первого знакомства с SDR.

Настоятельно рекомендуется прочитать «SDR и HackRF для начинающих». Если не осилите всё, то хотя бы раздел «Как установить драйвер, инструменты HackRF и SDR утилиты». Также запомните, что HackRF не должен быть включён, а тем более передавать или получать данные, если к нему не подключена какая-либо антенна!

Где купить HackRF

Я купил у этого продавца. Особенность покупки HackRF в том, что имеется множество вариантов комплектаций:

Можно купить только плату, даже без USB кабеля питания, а можно купить вместе с корпусом и несколькими антеннами. Виды корпусов также различаются. Ещё нужно быть внимательным, и не перепутать корпус без платы с самой платой — некоторые корпусы (с экраничиком и встроенной батареей) могут стоить как сама плата.

Моя комплектация:

Состав пакета:

  • 1 x HackRF One Software Defined Radio с алюминиевым корпусом
  • 4 x HackRF SMA антенны (40MHz-6GHz антенна; 2.4G/5/5.8G антенна; 70MHz-2700MHz антенна; 40MHz-860MHz антенна)
  • 1 x специальная защитная крышка (приварена к плате) для HackRF One
  • 1 x модуль HackRF TCXO PPM0.1 GPS Clock
  • 1 x кабель LG Micro USB

Мне понравилось, что имеется несколько антенн под разные нужды.

Коробка мне пришла в весьма мятом виде и я пока шёл с почты довольно сильно волновался за плату:

К счастью, плата была уже в корпусе, а корпус довольно крепкий и на нём не было ни царапины.

Антенны на вид очень хрупкие, но они оказались в полном порядке — не погнутые и не сломанные. Не повезло только устройству «HackRF TCXO PPM0.1 GPS Clock module», при деформации коробки, ножки проткнули упаковку:

Сами ножки также были погнуты.

Я распрямил ножки плоской отвёрткой и установил этот модуль на плату HackRF. Я забыл сделать фотографию (а разбирать ещё раз лень) и к тому же я не уверен, что установил правильно. Поэтому про модуль HackRF TCXO PPM0.1 GPS Clock, для чего он нужен и как его использовать будет в какой-нибудь последующей статье.

Как проверить HackRF

При подключении HackRF к компьютеру с Linux практически ничего не происходит — только на плате загораются индикаторы. В самой системе нет каких-то встроенных аплетов для подключения к HackRF. Поэтому начнём с раздела «Быстрый старт с HackRF. Первый приём и передача данных в HackRF».


Посмотрим информацию:

hackrf_info

Во-первых, устройство обнаружено, и на нём установлена прошивка 2018.01.1. Версию последней прошивки можно проверить здесь: https://github.com/mossmann/hackrf/releases/. Там такая же версия, то есть обновление не требуется (если что, про обновление прошивки написано здесь).

Попробуем получить данные на максимальной скорости:

hackrf_transfer -r /dev/null -s 21500000

Попробуем отправить данные:

hackrf_transfer -t /dev/zero

Как минимум базовые тесты пройдены — несмотря на мятую коробку, устройство не пострадало.

Пошаговая инструкция по обновлению прошивки HackRF

С момента написания данной статьи вышло обновление программного обеспечения для HackRF, в том числе обновление прошивки HackRF.

Для проверки версии установленного ПО и прошивки HackRF запустите команду:


hackrf_info

Как можно увидеть, версия программного обеспечения, установленного на данный компьютер, теперь 2021.03.1:

hackrf_info version: 2021.03.1
libhackrf version: 2021.03.1 (0.6)

А версия прошивки 2018.01.1:

Firmware Version: 2018.01.1 (API:1.02)

Убедиться, что это последняя версия ПО можно на данной странице: https://github.com/mossmann/hackrf/releases/


Там же мы узнаём, что начиная с выпуска 2021.03.1, CPLD bitstreams теперь включён в прошивку и автоматически загружается вместе с ней при обновлении. Отдельно обновлять CPLD больше не нужно.

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

Файл прошивки поставляется вместе с libhackrf и hackrf-tools. Название конкретных пакетов может быть разным в различных дистрибутивах Linux. Подробности смотрите в разделе «Как установить драйвер, инструменты HackRF и SDR утилиты».

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

Файл с прошивкой называется hackrf_one_usb.bin, найдём путь до него в системе:

locate hackrf_one_usb.bin

В моём случае это /usr/share/hackrf/hackrf_one_usb.bin.

Хотя обновлённые libhackrf и hackrf-tools должны означать, что файл прошивки тоже новый, проверим, что у файла свежая дата создания.

ls -l /usr/share/hackrf/hackrf_one_usb.bin

Для запуска процесса обновления используйте команду вида:

hackrf_spiflash -w /ПУТЬ/ДО/hackrf_one_usb.bin

Например:

hackrf_spiflash -w /usr/share/hackrf/hackrf_one_usb.bin

Всё готово:

Чтобы изменения вступили в силу, выключите и включите HackRF (отсоедините от USB кабеля).

Вновь выполним проверку версии ПО:

hackrf_info

Теперь прошивка HackRF обновлена!


Как принимать сигнал с HackRF

Установим программу gqrx, для этого в Kali Linux, Debian, Linux Mint, Ubuntu и их производных выполните команду:

sudo apt install hackrf gqrx-sdr

В BlackArch и Arch Linux выполните команду:

sudo pacman -S gqrx

Запустите gqrx:

gqrx

При первом запуске появится окно настройки, в нём можно выбрать источник принимаемых данных и устройство вывода звука. В качестве Device (Устройства) я выбрал HackRF, также увеличил Input rate до максимального значения 20000000.

Главное окно gqrx:

Для запуска приёма сигнала нажмите кнопку «Start DSP processing», а для смены частоты можно указывать её в окне «Frequency», либо устанавливать на панели с цифрами. Панель можно передвигать за нижний ряд цифр:

Для остановки приёма сигнала нажмите кнопку «Stop DSP processing» (бывшая кнопка «Start DSP processing»). Если вы хотите отключить HackRF (например для смены антенны), то лучше выйти из gqrx, т. к. у меня после переподключения HackRF эта программа зависала.

Во время приёма сигнала довольно высокая нагрузка на центральный процессор, возможно, из-за того, что я выбрал высокий Input rate:

Как слушать FM радио с HackRF

Диапазоны FM это 92.1-107.1 MHz. Поскольку частота в окне «Frequency» указана в kHz (килогерцах), то нам нужно перейти примерно к 100000 kHz:

Вы можете увидеть, что в этом диапазоне много пиков — это и есть эфиры радиостанций.

В качестве «Mode» выберите «WFM (stereo)».

Увеличьте значение «Gain», иначе будет слишком тихо.

Нажимая на кнопку Bookmark можно сохранять частоты в закладки.

Если нажать на кнопку Rec, то можно записывать аудио.

Небольшое видео, на котором я осваиваю интерфейс gqrx:

Это только самое начало! Далее мы с вами будем разбираться с источниками сигнала и методами их декодирования. С помощью HackRF можно обнаруживать самые разные устройства: от беспроводных дверных звонков до жучков, скрытых камер и радаров. Некоторые виды сигналов возможно расшифровать: рации, устаревшие телефонные стандарты и т. п. Некоторые виды сигнала можно только фиксировать: Wi-Fi, современные телефонные стандарты и т. п. В любом случае, мир радио волн очень обширный и интересный!


Рекомендуется Вам:

3 комментария to Первое знакомство с HackRF и gqrx

  1. Аноним:

    Рекомендую попробовать программу URH — universal radio hacker

    • Alexey:

      Спасибо, буду пробовать! Точнее, я её запускал перед gqrx, но без инструкции не смог понять. Много интересных программ, в том числе сканеров и декодеров. Буду курить мануалы.

      Есть интересные сайты с описанием на какой частоте что работает: как по производителям, так и по местам РФ (видимо, собрано энтузиастами). Буду во всё это погружаться по мере свободного времени.

  2. Alexey:

    Вышло обновление ПО!

    Добавлен раздел «Пошаговая инструкция по обновлению прошивки HackRF».

Добавить комментарий для Аноним Отменить ответ

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