GSM NetMonitor для гика и преподавателя

от автора


В статье я рассмотрю, как недорого в лабораторных условиях собрать и на практике использовать GSM NetMonitor на основе открытого программного продукта Osmocom, более известного в IT-среде по проекту OpenBTS, позволяющему создавать персональные базовые станции. Так, входящая в его состав программа OsmocomBB помогает узнать большое количество различных технических характеристик, задействованных в стеке GSM-протоколов для удовлетворения личного исследовательского интереса. В образовательной среде она поможет понять и на практике изучить работу рассматриваемых телекоммуникационных сетей, на которых в той или иной степени базируются определённые 3G, 4G и 5G-решения. Чтобы минимизировать заимствования из схожих публикаций, материал носит практический характер (за редким исключением). Дополнительно я раскрою явным образом недокументированную, но полезную возможность рассматриваемого программного обеспечения по одновременному NetMonitor сигналов от различных операторов.

▍ 1. Введение

Интерес к устройству сетей сотовой связи, внешние элементы которых знакомы каждому, давно прямо или косвенно привёл к появлению общедоступных баз данных, содержащих технические характеристики базовых станций различных сетей. На основе информации из этих источников наши мобильные устройства могут осуществлять геолокацию без необходимости вычисления GPS-координат, а в условиях плотной городской застройки, когда вычисленные GPS-координаты сильно отличаются от действительных, выступают в качестве источника дополнительной информации для повышения достоверности местоопределения. Наполнение полезной информацией осуществляется с помощью людей, намеренно или непреднамеренно передающих геолокационную информацию куда и кому нужно. Доступ пользователей к подобным данным обычно называется NetMonitor и может быть реализован с помощью внешнего программного обеспечения для Android или встроенного и глубоко интегрированного в iOS нативного приложения (*3001#12345#*).

Инженерно-технический персонал операторов сотовой связи в своей профессиональной деятельности использует куда более прокаченные девайсы с ошеломляющей обычного человека стоимостью и соответствующим этой стоимости функционалом. Однако вернёмся к открытому программному обеспечению. Проект OpenBTS неоднократно и достаточно подробно разбирался на Хабре, например (из классики), публикация 1, публикация 2, публикация 3. При этом до сих пор эта тема вызывает определённый интерес в сообществе, что видно из обсуждений статьи, опубликованной в начале года.

▍ 2. Tutorial для гика

Кроме всего того, что уже разобрано, OsmocomBB позволяет недорого и увлекательно покопаться в технических аспектах работы сетей сотовой связи 2-го поколения стандарта GSM, реализуя ряд протоколов управления и передачи соответствующих команд на совместимые с ним модели телефонов Motorola (C115, C117, C123, C121, C118, C140, C139, C155, V171, приобрести их можно в подземных переходах, на eBay или Авито). Для подключения к компьютеру можно применять платы сопряжения интерфейсов UART и USB, например, модель P2102. Для этого традиционно кабель подключения к телефону Motorola собирается на коленках. Программную часть можно установить самостоятельно (всё-таки свободный софт), или поискать готовые образы для Raspberry.

Для понимания возможностей OsmocomBB представим его в качестве виртуального сотового телефона (софтфона), в котором реализованы канальный, сетевой и прикладной уровни абонентского оборудования. В составе имеется прога Mobile, отвечающая за управление софтфоном посредством telnet. При этом сам телефон непосредственно реализует физический уровень. Загрузка в Motorola L1 прошивки осуществляется следующей командой:

~/osmocombb/src/host/osmocon/osmocon -p /dev/ttyUSB0 -m c123xor -c ~/osmocombb/src/target/firmware/board/compal_e88/layer1.highram.bin  -p /dev/ttyUSB0 – интерфейс подключения телефона -m c123xor – режим работы протокола, загружаемого в телефон -c ~/osmocombb/src/target/firmware/board/compal_e88/layer1.highram.bin - прошивка 

L2 и L3 активируются так:

~/osmocombb/src/host/layer23/src/mobile/mobile -i 127.0.0.1 

Далее управление осуществляется посредством CLI:

telnet 127.0.0.1 4247 

По умолчанию конфиг для мобилы выглядит следующим образом:

show running-config

Current configuration: ! ! line vtyнастройки консоли  no loginдоступ без авторизации ! gps device /dev/ttyACM0настройки GPS gps baudrate default no gps enable ! no hide-defaultнастройки отображения конфигурации ! ms 1описание mobile station 1  layer2-socket /tmp/osmocom_l2  sap-socket /tmp/osmocom_sap  sim reader  network-selection-mode autoрежим выбора сети  imei 000000000000000 0imei  imei-fixed  no emergency-imsi  no sms-service-centerномер SMS-центра  no call-waitingнастройки вызова  no auto-answer  no force-rekey  no clip  no clir  tx-power autoуправление мощностью  no simulated-delay  no stick  location-updatingуправление работой с сотовой сетью  neighbour-measurement  codec full-speed preferнастройки вокодеров  codec half-speed  no abbrev  supportподдерживаемые режимы   sms   a5/1   a5/2   p-gsm   e-gsm   r-gsm   no gsm-850   dcs   no pcs   class-900 4   class-850 4   class-dcs 1   class-pcs 1   channel-capability sdcch+tchf+tchhподдержка логических каналов   full-speech-v1   full-speech-v2   half-speech-v1   min-rxlev -106минимальный уровень приёма   dsc-max 90   no skip-max-per-band  exit  test-simнастройки SIM-модуля   imsi 001010000000000(это целое отдельное устройство внутри телефона)   no barred-access   no rplmn   hplmn-search foreign-country  exit  no shutdown exit ! end 

При желании его можно отредактировать:

nano /home/Mike/.osmocom/bb/mobile.cfg 

Далее активируется командный режим, и после возможно выполнение предустановленных команд:

enable show ms show cell 1 showsubscriber 1 

В прошлом проект Osmocom активно развивался, поэтому изменялись команды, передаваемые на софтфон, а некоторые сегодня имеют дублирующие функции:

Команды cli

helpвызов справки Mobile listвывод перечня поддерживаемых команд writeterminalзапись назначенных параметров в память софтфона writefileзапись назначенных параметров в файл writememoryзапись назначенных параметров в оперативную память show running-configвывод текущей конфигурации Mobile exitвыход из текущей сессии telnet и запуск сессии с параметрами по умолчанию disableотключить командный режим configureterminalизменить конфигурацию софтфона copyrunning-configstartup-config использовать текущую конфигурацию софтфона в качестве конфигурации по умолчанию showstartup-configпоказать конфигурацию по умолчанию showversionпоказать текущую версию Osmocom showonline-helpпоказать справку онлайн terminallength<0-512>назначение количества выводимых строк terminalnolengthвывод неограниченного количества строк showhistoryистория вводимых команд terminalmonitorперевод софтфона в режим мониторинга terminalnomonitorотключение мониторинга софтфона сети связи showms [MS_NAME]вывод характеристик сети связи showsubscriber [MS_NAME]вывод характеристик, записанных в SIM-карту софтфона showsupport [MS_NAME]вывод поддерживаемых сетью связи технологий showcell MS_NAMEвывод характеристик базовой станции showcell MS_NAME <0-1023> [pcs]сканирование каналов базовых станций и вывод их характеристик showneighbour-cell MS_NAMEвывод списка соседей для текущей базовой станции showba MS_NAME [MCC] [MNC]вывод списка частот, используемых текущей сетью связи show forbidden location-area MS_NAMEвывод текущей зоны местоположения showforbiddenplmn MS_NAMEвывод значений MCC и MNC, на которых настроен софтфон monitornetwork MS_NAMEперевод софтфона в режим мониторинга заданной сети nomonitornetwork MS_NAMEотключение мониторинга софтфона заданной сети offотключение софтфона simtestcard MS_NAME MCC MNC LAC TMSI attachedпередача параметров зоны местоположения и временного номера софтфону simreader MS_NAMEприсоединение SIM-карты софтфона к устройству SIM Reader simremove MS_NAMEотсоединение SIM-карты софтфона от устройства SIM Reader sim pin MS_NAME PINустановка PIN-кода sim disable-pin MS_NAME PINотключение PIN-кода sim enable-pin MS_NAME PINвключение PIN-кода sim change-pin MS_NAME OLD NEWизменение PIN-кода sim unblock-pin MS_NAME PUC NEWразблокировка PIN-кода simlai MS_NAME MCC MNC LACприсвоение софтфону зоны местоположения network search MS_NAMEпоиск сети связи networkshow MS_NAMEотображение параметров сети связи network select MS_NAME MCC MNC [force]выбор сети связи call MS_NAME (NUMBER|emergency|answer|hangup|hold)осуществление вызова call MS_NAME retrieve [NUMBER]осуществление повторного вызова call MS_NAME dtmf DIGITSосуществление вызова по технологии DTMF sms MS_NAME NUMBER .LINEотправка SMS-сообщения service MS_NAME (*#06#|*#21#|*#67#|*#61#|*#62#|*#002#|*#004#|*xx*number#|*xx#|#xx#|##xx#|STRING|hangup)отправка USSD-запроса deleteforbiddenplmn NAME MCC MNC удаление параметров зоны местоположения 

Чтобы посмотреть состояние софтфона, определить MCC (код страны — здесь и далее в скобках будет указано простым языком, что это такое) и MNC (условный код, закреплённый за оператором), к которому выполнено подключение, а также ARFCN (номер частотного / физического канала), LAC (номер района, объединяющего несколько базовых станций) и CELLID текущей базовой станции (цифровой код сектора), выполняем следующее:

show ms

% (MS 1) % Trying to registering with network... 1 MS '1' is up, service is limited (pending)   IMEI: 000000000000000      IMEISV: 0000000000000000      IMEI generation: fixed   automatic network selection state: A1 trying RPLMN                                      MCC=XXX MNC=XXX   cell selection state: C3 camped normally                         ARFCN=715(DCS) MCC=XXX MNC=XX LAC=0xXXXX CELLID=0xXXXX   radio ressource layer state: idle   mobility management layer state: MM idle, attempting to update 

DCS означает, что сотовый подключён к базовой станции, работающей в диапазоне 1800 МГц. Это также понятно из значения ARFCN. Кстати, написанные вместе MCC + MNC + LAC = LAI (международный идентификатор зоны местоположения). Ниже приведу соответствие значений ARFCN его физическим величинам (МГц):

Таблица ARFCN для GSM-900 и 1800

Увидеть значения IMSI (15-значный десятичный номер, закреплённый оператором за своим пользователем), временного номера TMSI (16-ричный номер, который меняется от LAI к LAI для сохранения приватности), сеансового ключа шифрования (симметричный ключ шифрования):

show subscriber 1

Mobile Subscriber of MS '1':  IMSI: XXXXXXX  ICCID: XXXXXXXXX  Service Provider Name: XXXXXXX  Status: U1_UPDATED  IMSI detached  TMSI 0xXXXXXX          LAI: MCC XXX  MNC XX  LAC 0xXXXX  Key: sequence 0  8f 30 d7 21 bc 1a 24 6c  Registered PLMN: MCC XXX  MNC XX  Access barred cells: no  Access classes: C3  List of preferred PLMNs:         MCC    |MNC         -------+-------         XXX    |XX       

1 – это порядковый номер mobile station. Тот же вывод, если в Motorola не вставлена SIM-карта, будет выглядеть следующим образом:

Mobile Subscriber of MS '1':  No SIM present. 

Как раз приведённое выше значение ключа шифрования (sequence=0, key=8f30d721bc1a246c) может быть использовано для расшифровки собственного трафика в среде разработки GNU Radio при применении флоуграфа gr-gsm. На иллюстрации ниже я отправил SMS с текстом «Go», записал радиосигнал с помощью SDR-приёмника и указанного флоуграфа, декодировал и дешифровал первоначальный текст:

Можно получить подробную информацию о работе конкретной соты и увидеть псевдографическое представление частотной сетки (76 – это номер рабочей частоты соты). Легенда для схемы прилагается: ‘S’ = serv. cell ‘n’ = SI2 (neigh.) ‘r’ = SI5 (rep.) ‘b’ = SI2+SI5:

show cell 1 76

ARFCN = 76  channels 512+ refer to DCS (1800) Available SYSTEM INFORMATIONS = 2 3  SI2 (neigh.) BA=0: 53,57,62,67,73,113     0 .....................................................n...n....n. 63   64 ...n.....n.......................................n...........    127  128                                                                  191  192                                                                  255  256                                                                  319  320                                                                  383  384                                                                  447  448                                                                  511  512 ................................................................ 575  576 ................................................................ 639  640 ................................................................ 703  704 ................................................................ 767  768 ................................................................ 831  832 ......................................................           895  896                                                            ..... 959  960 ................................................................ 1023  'S' = serv. cell  'n' = SI2 (neigh.)  'r' = SI5 (rep.)  'b' = SI2+SI5  Serving Cell:  BSIC = 0,5  MCC = XXX  MNC = XX  LAC = XXXX  Cell ID = XXXX  Country = XXXXXXXX  Network Name = XXXXX  MAX_RETRANS = 4  TX_INTEGER = 32  re-establish = allowed  Cell barred = no  barred classes =  CBQ = 0  CRO = 0  TEMP_OFFSET = 0  PENALTY_TIME = 0 NCC Permitted BCCH = 0 1 2 3 4 5 6 7  Neighbor Cell:  MAX_RETRANS = 4  TX_INTEGER = 32  re-establish = allowed  Cell barred = no  barred classes =  MX_TXPWR_MAX_CCCH = 5  CRH = 6  RXLEV_MIN = -102  NECI = 1  ACS = 0 BCCH link timeout = 52  DTX = 1  PWRC = 1 SACCH link timeout = 0  DTX = 0  PWRC = 0 CCCH Config = 1 CCCH  BS-PA-MFMS = 2  Attachment = allowed BS-AG_BLKS_RES = 2  T3212 = 21600 sec. chan_nr = 0x00 TSC = 0  ARFCN = 0 

Странные аббревиатуры SI2 и т. п. являются не чем иным, как сокращением от имени служебных сообщений system information type, применяемых в системе связи. Получить подробную информацию о соседних с сотой базовых станциях, так называемый neighbour-cells, можно следующим образом:

show neighbour-cells 1

Serving cell:  ARFCN=619(DCS)  RLA_C=-59  C1=43  C2=43  LAC=XXXXX  Neighbour cells:  #      |ARFCN  |RLA_C  |C1     |C2     |CRH    |prio   |LAC    |cell ID|usable |state ---------------------------------------------------------------------------------------  1     | 553   |   -75 |  20   |  20   |   0   |normal |0xXXXX |0xXXXX |yes    |SYSINFO  2     |  53   |   -77 |  25   |  25   |   0   |normal |0xXXXX |0xXXXX |yes    |SYSINFO  3     | 520   |   -77 |  25   |  25   |   0   |normal |0xXXXX |0xXXXX |yes    |SYSINFO  4     | 113   |   -78 |  24   |  24   |   0   |normal |0xXXXX |0xXXXX |yes    |SYSINFO  5     |  76   |   -81 |  21   |  21   |   0   |normal |0xXXXX |0xXXXX |yes    |SYSINFO  6     | 529   |   -83 |  12   |  12   |   0   |normal |0xXXXX |0xXXXX |yes    |SYSINFO --- unmonitored cells: ---  7     |  74   |   -85 |  17   |  17   |   0   |normal |0xXXXX |0xXXXX |yes    |SYSINFO  8     | 631   |   -85 |  17   |  17   |   0   |normal |0xXXXX |0XXXXX |yes    |SYSINFO  9     | 512   |  -101 |-      |-      |-      |-      |-      |-      |no     |RLA_C 10     | 515   |   -98 |-      |-      |-      |-      |-      |-      |no     |RLA_C 11     | 517   |   -91 |-      |-      |-      |-      |-      |-      |no     |RLA_C 12     | 521   |   -87 |-      |-      |-      |-      |-      |-      |no     |RLA_C 13     | 616   |   -92 |-      |-      |-      |-      |-      |-      |no     |RLA_C 14     | 623   |  -101 |-      |-      |-      |-      |-      |-      |no     |RLA_C 

RLA_C — это уровень принимаемого сигнала, С1 и С2 — это вычисляемые качественные показатели, на основании которых мобила выполняет переключение cell selection и cell reselection. Эти параметры работают только в idle mode. Handover decision происходит на контроллере в сети. Отличная возможность разобраться на практике с выбором соты. Ещё одна команда про то же самое — показать Band Allocation:

show ba 1

Band Allocation of network: MCC XXX MNC XX  53 74 76 113 512(DCS) 515(DCS) 517(DCS) 520(DCS) 521(DCS) 529(DCS) 553(DCS) 616(DCS) 619(DCS) 623(DCS) 624(DCS) 628(DCS) 631(DCS) Band Allocation of network: MCC XXX MNC XX  77 82 85 88 89 91 94 95 97 99 100 102 104 680(DCS) 682(DCS) 764(DCS) 765(DCS) 767(DCS) 770(DCS) 776(DCS) 777(DCS) 778(DCS) 779(DCS) 782(DCS) 790(DCS) 793(DCS) 802(DCS) 807(DCS) 810(DCS) Band Allocation of network: MCC XXX MNC XX  26 28 30 31 37 38 40 45 46 48 51 640(DCS) 641(DCS) 649(DCS) 656(DCS) 711(DCS) 715(DCS) 717(DCS) 719(DCS) 721(DCS) 723(DCS) 724(DCS) 729(DCS) 735(DCS) 736(DCS) 740(DCS) 741(DCS) 742(DCS) 752(DCS) 753(DCS) 

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

osmo-bts.cfg

phy 0  instance 0  osmotrx ms-power-loop -65  osmotrx legacy-setbsic bts 0  band 1800  ipa unit-id 1801 0  oml remote-ip 127.0.0.1  trx 0   phy 0 instance 0 

А это пример конфигурации OpenBSC (контроллера), где как раз есть чем заняться. В нашем распоряжении: MCC, MNC, высвечиваемое на сотовом телефоне имя сети (name(s)), параметры шифрования (encryption) и много чего ещё. Каждая базовая станция номеруется как bts 0. Коротко напомню о структуре основных логических каналов управления в стандарте GSM: BCCH + CCCH + SDCCH + TCH + TCH… Количество временных слотов timeslots (временное разделение всё-таки) равно 8. Числа 4 и 8 для SDCCH означают «количественную ёмкость» логического канала. Больше значение — больше количество одновременно обслуживаемых сотовых телефонов. F в TCH канале означает использование полноскоростного кодирования для голоса. Когда все временные слоты использованы (сконфигурированы), тогда базе могут быть добавлены дополнительные физические каналы.

openbsc.cfg

e1_input  e1_line 0 driver ipa network  network country code ХХХ  mobile network code ХХ  short name ХХХ  long name ХХХ  auth policy accept-all  location updating reject cause 13  encryption a5 0  neci 1  rrlp mode none  mm info 1  handover 0  handover window rxlev averaging 10  handover window rxqual averaging 1  handover window rxlev neighbor averaging 10  handover power budget interval 6  handover power budget hysteresis 3  handover maximum distance 9999  bts 0   type sysmobts   band DCS1800   cell_identity XXXX   location_area_code XXXXX   training_sequence_code 7   base_station_id_code XX   ms max power 15   cell reselection hysteresis 4   rxlev access min 0   channel allocator ascending   rach tx integer 9   rach max transmission 7   ip.access unit_id 1801 0   oml ip.access stream_id 255 line 0   gprs mode none   trx 0    rf_locked 0    arfcn 514    nominal power 23    max_power_red 30    rsl e1 tei 0    timeslot 0     phys_chan_config CCCH+SDCCH4     hopping enabled 0    timeslot 1     phys_chan_config SDCCH8     hopping enabled 0    timeslot 2     phys_chan_config TCH/F     hopping enabled 0    timeslot 3     phys_chan_config TCH/F     hopping enabled 0    timeslot 4     phys_chan_config TCH/F     hopping enabled 0    timeslot 5     phys_chan_config TCH/F     hopping enabled 0    timeslot 6     phys_chan_config TCH/F     hopping enabled 0    timeslot 7     phys_chan_config TCH/F     hopping enabled 0 

В результате хаотичного жима клавиш клавиатуры научных изысканий найдена интересная недокументированная возможность, позволяющая переводить телефон Motorola в режим сканирования всех операторов сотовой связи, а не только того, чья SIM-карта установлена внутри:

testcard MS_NAME MCC MNC LAC TMSI attached 

Подставляем в неё правдоподобные значения (шаблон можно подсмотреть из результатов выполнения команд выше) и получаем устройство для выполнения NetMonitor одновременно всех операторов сотовой связи. Это очень удобно, так как не надо переставлять туда-сюда SIM-карту. В консоль выводятся значения MCC, MNC, LAC, CID, ARFCN, уровень сигнала базовых станций. Это является достаточным для определения радиочастотного покрытия GSM:

show cell 1

ARFCN  |MCC    |MNC    |LAC    |cell ID|forb.LA|prio   |min-db |max-pwr|rx-lev -------+-------+-------+-------+-------+-------+-------+-------+-------+-------   27   |XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-73   28   |XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-78   30   |XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-83   31   |XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-80   32   |XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-81   36   |XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-79   38   |XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-83   46   |XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-67   51   |XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-82   53   |XXX    |BB     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-83   61   |XXX    |BB     |0xXXXX |0xXXXX |no     |normal |-102   |   5   |-80   76   |XXX    |BB     |0xXXXX |0xXXXX |n/a    |n/a    |-102   |   5   |-98   97   |XXX    |CC     |0xXXXX |0xXXXX |no     |normal |-104   |   5   |-82  100   |XXX    |CC     |0xXXXX |0xXXXX |no     |normal |-104   |   5   |-73  113   |XXX    |AA     |0xXXXX |0xXXXX |n/a    |n/a    |-102   |   5   |-94  520DCS|XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   0   |-78  529DCS|XXX    |AA     |0xXXXX |0xXXXX |n/a    |n/a    | -95   |   0   |-86  553DCS|XXX    |AA     |0xXXXX |0xXXXX |no     |normal | -95   |   0   |-75  554DCS|XXX    |AA     |0xXXXX |0xXXXX |no     |normal |-102   |   0   |-83  616DCS|XXX    |BB     |0xXXXX |0xXXXX |n/a    |n/a    | -95   |   0   |-89  631DCS|XXX    |BB     |0xXXXX |0xXXXX |no     |normal |-102   |   0   |-86  641DCS|XXX    |BB     |0xXXXX |0xXXXX |no     |normal |-102   |   0   |-86  715DCS|XXX    |CC     |0xXXXX |0xXXXX |no     |normal |-102   |   0   |-77  736DCS|XXX    |CC     |0xXXXX |0xXXXX |no     |normal |-102   |   0   |-86  741DCS|XXX    |CC     |0xXXXX |0xXXXX |no     |normal |-102   |   0   |-84  764DCS|XXX    |CC     |0xXXXX |0xXXXX |no     |normal |-100   |   0   |-86 

Как раз всё, что нам нужно, для работы с соответствующими агрегаторами:

Другой документированной возможностью OsmocomBB является определение удалённости базовых станций от точки измерения по параметру Time Advance (TA). В этом случае Motorola сканирует физические каналы работы базовых станций и определяет значения: ARFCN, MCC, MNC и TA (однако отсутствует вывод информации о CID и LAC). Значение TA, равное 1, означает, что базовая станция находится на удалении от 550 до 1100 метров, значение TA, равное 2, означает расстояние от 1100 до 1650 метров и т. д. Имеется возможность подключения внешнего GPS через TTY для автоматической привязки результатов измерений к геоинформации. Работа возможна как от аккумуляторных батарей, так и от зарядного устройства:

~/osmocombb/src/host/layer23/src/misc/cell_log 

Здесь стоит упомянуть, что кроме программы Mobile имеются другие, позволяющие обрабатывать нешифрованную информацию, постоянно передающуюся на радиоинтерфейсе. Так, чтобы декодировать канал CCCН (для 741 ARFCN), работаем с этой программой:

~/osmocombb/src/host/layer23/src/misc/ccch_scan -a 741 -i 127.0.0.1 

Для перебора каналов BCCH и декодирования соответствующих пакетов с возможностью последующей работы в Wireshark:

~/osmocombb/src/host/layer23/src/misc/bcch_scan -i 127.0.0.1 

Получение служебной информации из cell broadcast channel (как раз там, где передаются SMS-сообщения):

~/osmocombb/src/host/layer23/src/misc/cbch_sniff -a 741 -i 127.0.0.1 

Упомянутый выше флоуграф также позволяет всё это обрабатывать.

▍ 3. Tutorial для преподавателя

Описанный технический инструментарий может быть применим в учебном процессе профильных высших учебных заведений. Достаточно легко нарастить его необходимым интерактивом для повышения интереса и внимательности аудитории. Теоретическая часть подлежит рассмотрению в формате лекции. После практических занятий или лабораторных работ знания начнут занимать своё место в голове. Закрепление их в формате самостоятельной работы, например, подготовка курсовых проектов по радиообследованию кампуса университета и прилегающей к нему территории, разнесённый замер технических характеристик систем связи, сличение с имеющейся информацией из общедоступных ресурсов, визуализация полученных результатов – всё это будет в разы лучше, чем сотрясание воздуха лектория или изучение скучных и пыльных учебников. Наконец, обсуждение в формате семинаров применённых технических решений, их слабых и сильных сторон (например, простоты), миграции в современные стандарты связи, общих черт и отличий работы 3G, 4G и 5G-сетей, вопросов информационной безопасности и т. д. позволит не только углубиться в тему, но и почувствовать себя специалистом инженером, а сам учебный процесс будет хотя бы немного походить на участие в современной IT-конференции.

▍ 4. Заключение

При прослушивании в лектории радиотехнического университета этих малопонятных терминов, да ещё на английском языке (на русском они порой выглядят ещё страшнее), в голове складывается кашеобразная картина, мало отражающая реальную работу сетей. Подобные открытые проекты позволяют самым волшебным образом прикоснуться ко многим техническим аспектам их работы, что исключительно полезно для удовлетворения собственного интереса или в образовательной среде: в работе преподавателя или тянущегося к качественным знаниям студента. Финансовые вложения при этом минимальные. Хотелось бы, чтобы отечественное образование оставалось конкурентноспособным и соответствующим требованиям современного технологичного мира не только на бумаге, в планах и концепциях.

Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх

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

Вам знакомы описанные в статье возможности Osmocom-BB?

10.71% Да3
39.29% Частично11
50% Нет14

Проголосовали 28 пользователей. Воздержались 2 пользователя.

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

Вы работаете преподавателем соответствующего технического профиля?

10.71% Да, но впервые слышите про OsmocomBB3
0% Да, OsmocomBB вам знаком, применяется в образовательном процессе0
14.29% Да, OsmocomBB вам знаком, НЕ применяется в образовательном процессе4
75% Нет21

Проголосовали 28 пользователей. Воздержались 2 пользователя.

ссылка на оригинал статьи https://habr.com/ru/articles/712844/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *