Недавние события с участием Хезболлы, Моссада и взрывом тысяч пейджеров привлекли мое внимание к протоколу POCSAG. В этой статье я расскажу о характеристиках протокола пейджеров POCSAG, его поведении и о том, как перехватывать и декодировать сообщения пейджеров.
Еще по теме: Способы приема ADS-B самолета
Перехват сообщений пейджера с RTL-SDR
POCSAG — это односторонний протокол пейджинга с модуляцией 2FSK, поддерживающий скорости 512, 1200 и 2400 бит/с. Передача может включать тональные, числовые и буквенно-цифровые данные.
Протокол использует FSK-модуляцию с отклонением ±4,5 кГц от несущей частоты: смещение +4,5 кГц соответствует «0», а смещение -4,5 кГц — «1». Сигналы POCSAG можно обнаружить в диапазонах VHF или UHF с каналами шириной 12,5 или 25 кГц.
Вот пример сигнала POCSAG (справа) и декодированных сообщений (слева):
Вот пример сигналов POCSAG (справа) и его декодированных сообщений (слева):
Пейджеры POCSAG работают на разных частотах в зависимости от региона. Вот некоторые распространенные диапазоны частот:
- HF-High/VHF-Low Band: 25 МГц — 54 МГц
- VHF Mid Band: 66 МГц — 88 МГц
- VHF High Band: 138 МГц — 175 МГц
- UHF: 406 МГц — 422 МГц
- UHF High: 435 МГц — 512 МГц
- Диапазон «900»: 929 МГц — 932 МГц
Конкретные частоты для каждого региона и сервиса можно найти на сайте sigidwiki.com.
Для перехвата POCSAG
Для перехвата и декодирования сигналов POCSAG понадобится следующее:
- RTL-SDR Dongle — USB-устройство, способное принимать частоты от 500 кГц до 1,75 ГГц. Подойдет любое программно-определяемое радио (SDR), поддерживающее частоты до 800 МГц. Самые доступные решения — это RTL-SDR USB-стики, которые изначально создавались как DVB-T тюнеры и стоят около 25 евро.
- Gqrx — открытое программное обеспечение для приема сигналов SDR.
- Sox — утилита для обработки аудиофайлов через командную строку.
- Multimon-ng — инструмент для декодирования различных цифровых радиопротоколов, включая POCSAG.
Для этого руководства я использую Dragon OS — специализированную GNU/Linux сборку для радиохакеров и работы с беспроводными сигналами, но можно установить программы и отдельно (см. Установка и использование DragonOS в радиохакинге).
Настройка Gqrx
Откройте приложение Gqrx.
Выберите ваше устройство RTL-SDR в меню управления входом. Убедитесь, что частота дискретизации аудио установлена на 48 кГц.
Перейдите во вкладку Input Controls и включите UDP-сервер. Установите порт 7355. Настройки удаленного хоста и номера порта можно изменять.
Теперь вы можете начать потоковую передачу сигналов.
Для проверки того, что данные поступают на другой конец, используйте команду netcat:
1 |
$ nc -l -u 7355 |
В терминале вы должны увидеть множество символов, которые можно передать следующему инструменту для обработки.
Захват и декодирование сигнала
Ваша задача — захватить сигнал, принимаемый RTL-SDR в Gqrx, и передать его через UDP-сокет на порт 7355.
Multimon-ng помогает идентифицировать и декодировать POCSAG-сигналы на разных скоростях (512, 1200 и 2400 бит/с), а sox пересэмплирует аудиосигнал с 44100 до 48000 бод для дальнейшей обработки.
Используйте следующую команду, чтобы захватить сигнал из Gqrx и декодировать его с помощью Multimon-ng:
1 |
$ nc -l -u localhost 7355 | sox -t raw -esigned-integer -b16 -r 48000 - -t raw -esigned-integer -b16 -r 22050 - | multimon-ng -t raw -a POCSAG512 -a POCSAG1200 -a POCSAG2400 -f alpha -e --timestamp - |
С помощью этого инструмента вы сможете принимать текстовые сообщения от служб экстренного реагирования и пожарных, находящихся поблизости.
Заключение
Таким образом, настройка перехвата сигналов POCSAG с помощью SDR достаточно проста и требует лишь минимальных знаний по настройке оборудования и программного обеспечения.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Установка и использование DragonOS в SDR радиохакинге
- Как следить за самолетами с помощью RTL-SDR на Kali Linux