Передача данных по радиоканалу

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

Важно! Здесь не будет информации о юридических особенностях использования радиосвязи, а также о частотах, мощности передачи, позывных и т. п. Применение радиосвязи имеет ограничения и регулируется Федеральным законом N 126-ФЗ «О связи».

Для решения этой задачи мы использовали подручные средства:

  1. Две портативные рации, работающие по протоколу AX.25, с разъемом для гарнитуры и функцией VOX

  2. Два кабеля APRS

  3. Два ноутбука со звуковой картой (встроенной или USB) и разъемом для наушников и микрофона

  4. Программное обеспечение direwolf, выступающее в качестве виртуального пакетного контроллера (TNC).

AX.25 (Amateur X.25) — протокол канала передачи данных для сетевого уровня, первоначально полученный из второго уровня набора протоколов X.25, что соответствует канальному уровню сетевой модели OSI, и предназначенный для использования операторами-любителями. Широко используется в любительских сетях пакетной радиосвязи.

Direwolf — это программный модем / TNC и кодер / декодер APRS со звуковой картой. Его можно использовать автономно для приема сообщений APRS, в качестве дигипитера, шлюза APRStt или интернет-шлюза (IGate). Также его можно использовать в качестве виртуального TNC для других приложений, таких как APRSIS32, UI-View32, Xastir, APRS-TW, YAAC, UISS, Linux AX25, SARTrack и многих других.

Настройка рации

Мы использовали рации Retevis RA685 и Quansheng UV-R50 с разъемом для гарнитуры стандарта Kenwood. Вообще для этой задачи подойдет абсолютно любая рация с разъемом для гарнитуры и функцией VOX, например, популярная Baofeng UV-5R.

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

Рисунок 1. Меню рации с активированной функцией VOX

Рисунок 1. Меню рации с активированной функцией VOX

Изготовление кабеля APRS

Далее нам нужен был кабель APRS для подключения рации к аудиовыходу ноутбуков. Кабель можно купить готовый, например, APRS-k1, но мы изготовили его самостоятельно. Для этого мы использовали кабель с гарнитурным разъемом рации (можно взять у проводной гарнитуры или тангенты), пару аудиокабелей и несколько резисторов и конденсаторов. Мы использовали следующую схему:

Рисунок 2. Схема кабеля APRS

Рисунок 2. Схема кабеля APRS

Рисунок 3. Набор для сборки

Рисунок 3. Набор для сборки

Рисунок 4. Готовый кабель

Рисунок 4. Готовый кабель

Про операционную систему

Выбор упал на Linux-подобные операционные системы, так как ядро Linux включает встроенную поддержку AX.25. Для ноутбуков обязательным требованием было наличие звуковой карты с возможностью подключения наушников и микрофона.

В рамках нашего эксперимента мы собрали тестовый стенд с использованием ОС Raspberry Pi Desktop и Kali Linux, установленных на нетбуках Asus Eee PC 901 и Asus Eee PC 1015 соответственно.

Рисунок 5. Тестовый стенд

Рисунок 5. Тестовый стенд

Настройка программного обеспечения

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

1.      Удалить Pulseaudio:

apt‑get remove ‑purge pulseaudio*

apt‑get autoremove

reboot now

2.      Установить инструменты direwolf:

apt install alsa-utils ax25-tools direwolf

3.      Добавить в файл конфигурации »/etc/ax25/axports» строку:

NODE-ID1 NODE-ID1 0 255 7 HF

4.      Перечислить аудиоустройства и запомнить номер нужной звуковой карты:

aplay -l

arecord -l

Рисунок 6. В нашем случае Card 0, Deviсe 0

Рисунок 6. В нашем случае Card 0, Deviсe 0

5.      Создать файл конфигурации direwolf.conf и добавить следующие строки:

#Use Card 0, Deviсe 0

ADEVICE plughw:0,0

#Half Duplex Mode

ACHANNELS 1

CHANNEL 0

MYCALL NODE-ID1

#Delay before TX in N*10ms (for VOX)

DWAIT 255

6.      Запустить direwolf со следующими параметрами:

direwolf -p -c ./direwolf.conf -B 1700

7.      В выводе команды найти и запомнить расположение до виртуального TNC.

8.      Открыть второй терминал и ввести команды:

modprobe -v ax25

kissattach /dev/pts/1 NODE-ID1

kissparms -p NODE-ID1 -t 600 -l 20 -s 100 -r 80 -f n -c 1

ifconfig ax0 44.0.0.1/30

arp -H ax25 -s 44.0.0.2 NODE-ID2

9.      В итоге получаем такой вывод в терминале direwolf:

Рисунок 7. Терминал direwolf

Рисунок 7. Терминал direwolf

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

Рисунок 8. подключение по ftp

Рисунок 8. подключение по ftp

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

Рисунок 9 Предупреждение о высоком уровне громкости

Рисунок 9 Предупреждение о высоком уровне громкости

Рисунок 10.  Консоль AlsaMixer

Рисунок 10.  Консоль AlsaMixer

Тестирование канала передачи

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

Рисунок 11 Скорость передачи

Рисунок 11 Скорость передачи

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

В качестве демонстрации такой возможности, радиосигнал был перехвачен, сохранен в виде аудиофайла и расшифрован встроенными инструментами direwolf.

Рисунок 12. Консоль SDRSharp

Рисунок 12. Консоль SDRSharp

Рисунок 13. Декодированные пакеты

Рисунок 13. Декодированные пакеты

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

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

Вывод

Организовать передачу данных по радиоканалу оказалось возможно при помощи подручных средств.

Дальность такой связи теоретически ограничена только сложностью рельефа, а также характеристиками рации и антенны. При этом дальность связи может варьироваться от десятков метров до нескольких десятков, а может и сотен километров.

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

Рисунок 14. Сигнал рации на анализаторах спектра.

Рисунок 14. Сигнал рации на анализаторах спектра.

Автор: Георгий Козлов, специалист по анализу защищенности УЦСБ

© Habrahabr.ru