Данные вещательных каналов сотовой вышки (2G/GSM и LTE): что можно получить и как декодировать
Сотовая вышка (BTS в 2G, eNodeB в LTE) непрерывно передаёт в эфир «системную информацию» — набор параметров, которые нужны телефону (UE), чтобы обнаружить сеть, синхронизироваться и подготовиться к подключению. Это не «перехват трафика» — это открытые широковещательные (broadcast) данные, которые предназначены для приёма всеми устройствами в зоне покрытия. Их декодирование полностью пассивно, законно в большинстве юрисдикций и не затрагивает трафик абонентов.
Ниже — какие каналы есть, что они несут и что из этого можно понять о вышке и сети.
1. Что вообще вещает вышка
Любая вышка передаёт на нисходящей частоте (downlink) набор логических каналов. Для пассивного наблюдателя важны два класса:
- Каналы синхронизации — позволяют обнаружить сигнал, получить тайминг и идентификатор соты.
- Вещательные каналы (BCCH в 2G, BCH/DL-SCH в LTE) — несут системную информацию (System Information) с параметрами сети.
Телефон при включении делает ровно то же самое: ищет сигнал синхронизации, читает системную информацию и решает, можно ли подключиться. С помощью SDR (Software Defined Radio) и открытых инструментов этот процесс можно повторить без телефона.
2. GSM (2G)
Каналы и сообщения
Вещательные данные GSM передаются на BCCH (Broadcast Control Channel), который передаётся непрерывно и служит стабильным опорным «маяком» соты. Основное содержимое BCCH — это сообщения System Information (SI), описанные в ETSI TS 144 018 (3GPP TS 44.018).
Что можно извлечь из BCCH
- MCC (Mobile Country Code) — страна оператора
- MNC (Mobile Network Code) — сам оператор
- LAC (Location Area Code) — код зоны местоположения
- Cell ID (CI) — идентификатор соты → вместе с MCC+MNC+LAC+CI образует CGI (Cell Global Identity)
- ARFCN — номер радиоканала → пересчитывается в частоту
- BSIC (Base Station Identity Code) — цветовой код вышки
- CCCH конфигурация — сколько каналов paging, AGCH и т.д.
- Параметры RACH — как телефону запрашивать доступ
- Параметры выбора соты — минимальный уровень приёма (C1/C2), приоритеты
- Список соседей — частоты соседних сот (для handover/reselection)
- Признак GPRS/EDGE — поддерживает ли сота пакетную передачу
- Cell Barring — заблокирована ли сота для доступа
- Информация о 3G-соседях — частоты UMTS
Синхронизация
До чтения BCCH нужно сначала найти сигнал. В GSM для этого служат:
- FCCH (Frequency Correction Channel) — чистый синус на фиксированном смещении, позволяет подстроить частоту приёмника.
- SCH (Synchronisation Channel) — несёт BSIC и номер кадра, позволяет выровнять тайминг.
3. LTE (4G)
Каналы и сообщения
В LTE системная информация разделена на MIB (Master Information Block) и набор SIB (System Information Blocks), описанные в 3GPP TS 36.331.
MIB
Передаётся на PBCH (Physical Broadcast Channel) с периодичностью 40 мс (с повторениями каждые 10 мс). Содержит самый минимум:
- DL Bandwidth соты (в числе Resource Blocks: 1.4 / 3 / 5 / 10 / 15 / 20 МГц)
- PHICH конфигурация
- SFN (System Frame Number)
SIB1
Передаётся на DL-SCH с периодичностью 80 мс (с повторениями). Несёт:
- PLMN identity list (MCC+MNC, может быть несколько)
- Tracking Area Code (TAC)
- Cell Identity — 28-битный E-UTRAN Cell Identifier (ECI). В макросетях часто раскладывается на eNodeB ID (старшие 20 бит) и локальный/секторный Cell ID (младшие 8 бит), но это не универсальное правило
- Cell bar status (доступна ли сота)
- Cell selection info (минимальный требуемый уровень приёма, Q-RxLevMin)
- p-Max — максимальная разрешённая мощность UE
- Frequency band indicator
- TDD конфигурация (если TDD)
- SI-window length и schedulingInfoList — расписание остальных SIB
- System info value tag — версия информации
Остальные SIB
Передаются в сообщениях SystemInformation (SI) по расписанию из SIB1:
Общая конфигурация радио: параметры RACH, PRACH, UL-частота, ширина UL-канала
Параметры reselection внутри той же частоты
Информация о соседях intra-frequency
Информация о соседях inter-frequency (другие частоты LTE)
Информация о соседях 3G (UTRA)
Информация о соседях 2G (GERAN)
Home eNodeB identifier (femtocell)
ETWS — первичное уведомление (Earthquake & Tsunami Warning)
CMAS — коммерческие предупреждения (Cell Broadcast)
Информация о времени (GPS/UTC)
4. Как это декодируется на практике (концептуальный пайплайн)
textSDR-приёмник (I/Q) → настройка на частоту → синхронизация → демодуляция → L2/L3 декодирование → Wireshark / ASN.1
Инструменты для GSM (2G)
- gr-gsm (GNU Radio GSM decoder) — основной инструмент. Компоненты:
grgsm_scanner— сканирование эфира, поиск вышек, вывод ARFCN, BSIC, Cell IDgrgsm_capture— запись сигнала в .cfilegrgsm_decode— декодирование BCCH, SDCCH и др. → GSMTAP в Wiresharkgrgsm_livemon— интерактивный мониторинг одного канала в реальном времени- Wireshark — анализ декодированных пакетов с фильтром
gsmtap - DragonOS — готовый Linux-дистрибутив со всем предустановленным
(gr-gsm Wiki: Usage, RTL-SDR Tutorial)
Инструменты для LTE (4G)
- srsRAN (бывший srsLTE) — открытый стек 4G/5G. Утилита
cell_searchнаходит соты и получает параметры из MIB; для декодирования SIB нужны специальные receive-only конфигурации/примеры srsRAN, LTE-Cell-Scanner или обёртки вроде lte-sib-parser.srsueв режиме только приёма может парсить SIB2–SIB6. - LTE-Cell-Scanner — OpenCL-ускоренный сканер от JiaoXianjun: от I/Q-сэмплов до SIB-сообщений в ASN.1. Поддерживает FDD и TDD, RTL-SDR/HackRF/BladeRF.
- lte-sib-parser — обёртка над cell_search и srsue для рекурсивного сканирования по SIB5.
- free5GRAN — для 5G NR (MIB + SIB1).
(LTE-Cell-Scanner на GitHub, srsRAN docs, lte-sib-parser)
Что это даёт на практике
- Идентификация оператора и страны по MCC+MNC.
- Картирование покрытия — зная Cell ID + частоту + уровень сигнала, можно составить карту расположения и охвата базовых станций (без доступа к базам операторов). Сторонние проекты вроде OpenCelliD и CellMapper агрегируют именно такие данные.
- Понимание топологии сети — какие соты являются соседями, какие частоты используются в зоне, какие поколения (2G/3G/LTE) присутствуют.
- Оценка нагрузки — косвенно, по количеству paging-сообщений (но это уже не чисто broadcast, аpaging-канал, требующий чуть более активного прослушивания CCCH).
- Проверка конфигурации — для исследовательских и образовательных целей: какая ширина канала, какие параметры RACH, закрыта ли сота и т.д.
- Косвенная оценка активности — по объёму paging-трафика можно грубо судить о нагрузке, но это не системная информация и не позволяет отслеживать конкретных абонентов.
6. Чего из broadcast-данных получить нельзя
- GPS-координаты вышки не передаются в эфир. Координаты можно определить только косвенно — по триангуляции сигнала или по внешним базам данных (OpenCelliD).
- Содержимое звонков, SMS и интернет-трафика — не относится к broadcast и может быть зашифровано. В GSM может использоваться A5/0 (без шифрования), A5/1 или A5/3; в LTE — SNOW 3G или AES. Перехват и расшифровка трафика выходят за рамки данной заметки.
- IMSI абонентов не передаётся в broadcast/System Information. В 2G/3G/LTE постоянный идентификатор может появляться в отдельных процедурах идентификации до установления защиты, но это не вещательные данные. В 5G для этого используется SUCI.
- Точная нагрузка/количество абонентов — broadcast не несёт такой информации. Paging-канал может дать лишь грубую оценку совокупной активности сети и не является средством отслеживания конкретных абонентов.
- Точное местоположение абонента — требует данных из ядра сети (core network) или активного слежения за конкретным устройством, что выходит далеко за рамки пассивного декодирования вещательных каналов.