Меню

Hackrf one генератор сигналов

Передача радиосигналов с помощью HackRF

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

Уникальность HackRF в его технических параметрах — при цене около 300$, устройство позволяет не только принимать, но и передавать радиосигналы в диапазоне 1МГц-6ГГц с шириной полосы до 20МГц. Использование HackRF практически не освещалось на Хабре и Гиктаймс, пора восполнить этот пробел.

Что касается приема радиосигналов, то тут все просто, и практически не отличается от популярного 10-долларового RTL-SDR, о котором не писал только самый ленивый. Ставится нужная DLL, запускается программа, в общем-то и все. Кто еще не слышал о таком “чуде”, могут почитать здесь же на сайте:
habrahabr.ru/post/149698
habrahabr.ru/post/149702
habrahabr.ru/post/280454
habrahabr.ru/post/200914

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

Низкий уровень — С/С++

Первый способ — общение напрямую с устройством. HackRF имеет библиотеку с открытым API, пример его использования можно посмотреть на сайте автора в утилите hackrf_transfer: github.com/mossmann/hackrf/blob/master/host/hackrf-tools/src/hackrf_transfer.c. Для тех, кто хоть раз работал со звуковой картой, принцип будет понятен — определенное число раз в секунду вызывается callback-функция, буфер для которой надо заполнить данными. Казалось бы все просто, но есть одно “но” — HackRF это SDR. Software Defined Radio. Это значит, что просто отправить WAV-файл в буфер не выйдет, ничего не передастся. Мы программно должны сформировать комплексный (IQ) сигнал для всей требуемой полосы приемника, чтобы его ЦАП в свою очередь, отправил “это” в эфир. Также необходимо задать ряд настроек (частота, усиление, полоса пропускания), что тоже можно посмотреть в исходнике.

HackRF поддерживает работу с различной шириной полосы пропускания, от 1 до 20МГц, и эту полосу необходимо сформировать программно. Мы этим заниматься не будем. Математика нужна достаточно серьезная, так что перейдем сразу ко второму способу — использованию пакета GNU Radio.

GNU Radio

GNU Radio — это открытый и бесплатный пакет программ, предназначенный для цифровой обработки сигналов в научных, образовательных или коммерческих целях. Система состоит из большого числа готовых блоков, имеющих интерфейс на языке Питон, сами блоки написаны на С++. В GNU Radio входит также визуальный редактор GNURadio Companion, позволяющий визуально соединять блоки в готовое “устройство”, вообще не используя язык программирования.

Итак, устанавливаем драйвера для Hack RF, устанавливаем GNU Radio (он может быть поставлен на Linux или Mac OS, либо скачан как Linux Live CD), запускаем в консоли “gnuradio-companion”. Теперь все готово, можно приступить к передаче.

Формально HackRF может передать что угодно в пределах своей полосы пропускания, например зная протокол передачи данных, можно рулить радиоуправляемой машинкой или управлять дверным звонком. Рассмотрим самые тривиальные примеры: амплитудную (AM) и частотную (FM) модуляцию.

Частотная модуляция

Для передачи в режиме FM запустим gnuradio-companion и создадим в программе такой граф.

Его структура довольно проста. В качестве источника был выбран WAV-файл с частотой дискретизации 44100, блок Multiply Const умножает сигнал на 2 (исходный звук был довольно-таки тихий), следующий блок WBFM Transmit и делает всю “магию” — преобразует наш вещественный сигнал с частотой 44100 в комплексный сигнал с частотой дискретизации 88200. Следующий блок Resampler повышает частоту дискретизации до выбранных для этого примера 2.4МГц. Частота передачи установлена на 87.5МГц, это была самая низкая частота FM-радио, поддерживаемая моим смартфоном, и она была свободна от FM-станций.

Результат — запускаем граф в GNU Radio, на HackRF загорается красный светодиод TX, в смартфоне слышен наш файл.

Интересно посмотреть как реально это работает. В консоли GNU Radio можно видеть следующий вывод:
Executing /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -u /Users/XXXX/Documents/Projects/Gnuradio/top_block.py

Его содержимое — готовая программа на Питоне, реализующая нашу передачу!

Ее можно сохранить в отдельную папку и использовать как угодно, модифицировать и пр. Это достаточно удобно, т.к. позволяет например, дописать свой UI, сделать запуск по расписанию, в общем, все ограничено только фантазией программиста.

Немного модифицируем граф, чтобы запускать программу в режиме “узкой ЧМ”, которая используется в рациях и радионянях:

Отличие небольшое — мы установили блок NBFM, а частоту передачи установили в 433.075МГц — первый канал LPD-диапазона. Включаем рацию, и слышим звук. Кстати, GNU Radio позволяет использовать в качестве источника не только WAV-файл, но и микрофон, так что программу легко переделать для передачи голосовых сообщений.

Амплитудная модуляция

Для тех у кого остался бабушкин приемник КВ-диапазона (хотя лучше конечно хотя бы Degen 1103 или IC-R9500), будет интересно попробовать режим AM. Для этого создаем следующий граф:

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

Еще больше SDR

Напоследок покажем, что HackRF может куда больше, чем просто рация из «Связного» ценой в 1000р. Это ведь полноценное Software Defined Radio, на котором можно передать что угодно. Чтобы показать легкость работы с “цифрой” в GNU Radio, дополним граф FM-трансляции так, чтобы HackRF передавал информацию одновременно на 2х частотах.

Здесь мы добавляем второй файл, повторяем ту же самую структуру. Но полученные данные умножаем на комплексный синусоидальный сигнал с частотой 125КГц, что эквивалентно сдвигу частоты на эти 125КГц, в итоге второй поток данных будет транслироваться на частоте 433075+125 = 433200, что соответствует 6му каналу LPD. Теперь HackRF передает одновременно 2 звуковых файла на 2х разных частотах. Можно добавить и 3й, все ограничено лишь шириной полосы пропускания и мощностью компьютера.

На этом все. Заинтересовавшиеся темой GNU Radio могут найти туториалы в сети, их довольно-таки много.

Напоследок. HackRF не является полноценной радиостанцией, его мощность слишком мала и составляет около 20мВт, да и КПД штатной антенны менее 1%. Это скорее устройство для экспериментов с сигналами в «ближней зоне», в пределах офиса или квартиры. Если же кто-то захочет экспериментировать с более мощными сигналами, обязательно стоит соблюдать правила распределения радиочастотного спектра, чтобы не мешать другим.

Источник

Hackrf one генератор сигналов

HackRF + Portapack — Обсуждение
HackRF + Portapack
Официальный сайт | Обсуждение »

Сообщение отредактировал Boy77ruS — 26.01.21, 16:43

Ну так надо не гуглить, а например на алиэкспрессе сравнивать.
H2 — экран больше, управление из одного кольца с кнопками разнесено на два, и в отличие от H1 припаяны клеммы (для АКБ и вторая непонятно зачем).
Но это скорей всего неофициальный китайский вариант, т.к. у разработчика первой версии на сайте ничего про вторую не сказано https://www.sharebrained.com/portapack/
Из минусов — в H2 похоже всегда питание включено, и неизвестно как выключение реализовано ( вот тут без прошивки софта подсветка валкодера работает https://www.youtube.com/watch?v=Ja6LTDf9wAk ) — если Havoc не сделал выключение для H2, то максимум режим сна можно использовать, т.е. при каждом нажатии кнопки будет просыпаться. Ну и в любом случае при редком использовании каждый раз разбирать и дёргать коннектор батареи, подсветка-то остаётся.

А вообще пока это игрушка, вот если бы и встроенную батарейку на 5-10Ач, динамик, микрофонный стерео вход — было бы интереснее.
Цифровых вещательных форматов тоже не поддерживает (и в планах что-то не видел ни DAB, ни DRM).

В идеале — прикрутить туда одноплатник по-мощнее, чтобы можно было с существующим софтом портативно работать, т.к. даже если и допилят всё что для портапака запланировали — это не реализует весь потенциал.

И все таки, ни у кого нет опыта заливки Havoc в H1? У меня при смене стандарта на HAVOC кирпичится он. Может киты памяти не доложили гады.
Стандартная прошивка портапака откровенно слабовата. Насчет игрушечности. Все работает, при питании от аккума (для того и портапак) и хорошей внешней антенне слушал дальние проходы радиолюбителей на 27, 144 и 433. Более длинных антенн в хозяйстве сейчас нет, но на форумах встречал отзывы о неплохом результате для 20 и 40 метров. Для более низких частот нужны допустройства (https://youtu.be/QeKNGMlktoA). Вообще, это идеальный вариант для обучения работе с программами типа GNU Radio, он единственный с одноклассников имеет передающий тракт, пусть и не совсем полноценный. А китай из-за цены, не всем бюджет позволяет на хобби много денег выделять.

Сообщение отредактировал progvova — 13.01.20, 08:16

progvova, и как же у вас он от аккума-то работает? Это из тех, где на 1000-1500mAh на плату припаян? В сравнении с упомянутыми мной 5-10Аh конечно портативность та ещё. И про остальные недоделки не забывайте — устройство продают как полностью готовое, а по факту надо допиливать, колхозить схемы питания, звук и т.д.

Как реализовано выключение/включение? За сколько в выключенном состоянии высасывает аккум в ноль?

Источник

HackWare.ru

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

Первое знакомство с 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».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запустите gqrx:

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

Для запуска приёма сигнала нажмите кнопку «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, современные телефонные стандарты и т. п. В любом случае, мир радио волн очень обширный и интересный!

Источник

Adblock
detector