GNU Radio Out-Of-Tree модуль для пассивного декодирования DECT. Принимает IQ-поток с RTL-SDR или HackRF, находит DECT-фреймы, декодирует ADPCM/G.711 аудиопотоки и воспроизводит или сохраняет перехваченные переговоры. Поддерживает европейский диапазон (1880–1900 МГц) и американский DECT 6.0 (1920–1930 МГц). Работает с flowgraph-файлами GNU Radio Companion.
git clone https://github.com/SignalsEverywhere/gr-dect2 cd gr-dect2 mkdir build && cd build cmake .. make && sudo make install sudo ldconfig # Запуск через GNU Radio Companion (.grc файлы в examples/)
Оригинальный код форкнут из: https://github.com/pavelyazev/gr-dect2
Этот проект был разработан для демонстрации возможности декодирования голосового канала DECT в реальном времени с помощью Gnuradio. Он позволяет прослушивать голос, когда шифрование не применяется. Например, цифровые DECT-мониторы для детей не используют шифрование.
Вы несете полную ответственность при использовании данного программного обеспечения. Оно предназначено исключительно для демонстрационных целей, а использование его для прослушивания телефонных разговоров является незаконным в большинстве стран.
Я добавил американские DECT-каналы (среди прочих), чтобы обеспечить работу программного обеспечения в диапазоне 1,9 ГГц. Я также работаю, чтобы, надеюсь, реализовать возможность выбора RFP или PP в качестве вашей части, а не запуска всех устройств сразу или, возможно, автоматического сканирования всех устройств. Наконец, я хотел бы добавить функцию сканирования, чтобы вам не приходилось вручную проверять все устройства.
Большое спасибо оригинальному разработчику Pavelyazev, без которого это было бы невозможно реализовать на SDR. Мы приближаемся к чему-то сопоставимому с картой Com-on-air для мониторинга, и я нахожу это очень захватывающим.
DECT работает в диапазоне 1880–1900 МГц и занимает десять каналов от 1881,792 МГц до 1897,344 МГц. Поэтому для приема DECT-цифрового потока необходим соответствующий аппаратный обеспечения. Этот проект был разработан и протестирован с использованием USRP2 + плата расширения WBX и USRP B200.
Он также должен работать с другими SDR-приемниками, которые могут охватывать диапазон 1880–1900 МГц и обеспечивать частоту дискретизации не менее чем в два раза превышающую скорость передачи данных DECT (1152000 бит/с). Однако может потребоваться некоторая адаптация.
В качестве источника DECT-сигнала использовался монитор для детей Motorola MBP12.
Из-за высокой скорости передачи данных DECT компьютер, на котором запускается проект, должен быть достаточно мощным.
git clone git://github.com/pavelyazev/gr-dect2.git cd gr-dect2/ mkdir build cd build cmake ../ make sudo make install sudo ldconfig
Затем следует использовать Gnuradio companion для открытия и запуска графа потока dec2.grc из gr-dect/grc
Каждое устройство, способное излучать DECT-сигнал, называется частью. Согласно спецификации DECT, существуют части двух типов – RFP (Radio Fixed Part) или базовая станция и PP (Portable Part) или трубка. RFP излучает сигнал, устанавливающий структуру кадра в эфире. RFP можно прослушивать независимо. Однако для получения голоса от PP необходимо принять его парную RFP.
Проект использует элементы управления на базе QT. Есть ползунок усиления приема, выпадающие списки каналов и ID приемника, консоль состояния.
Консоль состояния отображает части в эфире. Информация о части состоит из ID приемника, ID части в системе DECT, типа части и признака наличия голоса. Статус обновляется каждый раз, когда часть появляется/теряется или данные о голосе появляются/теряются. У пары RFP и PP будет одинаковый DECT ID.
ID приемника - это внутренний номер, присваиваемый внутри приемника. Текущая реализация позволяет прослушивать только одну часть. Необходимая часть выбирается по ID из выпадающего списка. Выбранная часть будет помечена звездочкой в консоли. Если голосовые данные доступны, строка состояния будет иметь букву "v" в конце, и декодированный голос будет направлен на звуковую карту.
Время от времени части могут менять частотный канал. Поэтому для поиска чего-либо необходим периодический ручной скан по каналам.
Sudo apt-get update sudo apt-get install cmake gnuradio gr-osmosdr swig git -y volk-profile