Проблема с получением TMSI

В данном форуме можно обсудить и найти информацию о SDR, в том числе о HackRF One, RTL-SDR и подобных устройствах, а также о программах SDRSharp, SDR Console и других
orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

Всем привет. Возникла проблема с получением TMSI, может вы сможете помочь.

iphone4+minicom
на команды получение tmsi реагирует одинакого, отдает всегда одно и то же +CSIM: 4,"6E00"
консоль:

Код: Выделить всё

AT+CSIM=14,"A0A40000027F20"
ERROR
AT+CSIM=14,"A0A40000027F20"
+CSIM: 4,"6E00" // должен отдать ответ вида +CSIM: 64,”00005C5E7F2002005555FF011113001D0700838A838A00838300008300009000″

OK
AT+CSIM=42,"A088000010FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+CSIM: 4,"6E00"

OK
AT+CSIM=14,"A0A40000026F20"
+CSIM: 4,"6E00"

OK
AT+CSIM=10,"A0B0000009"
+CSIM: 4,"6E00"

OK
Ладно, получу imsi и далее в wireshark найду по imsi свой tmsi
AT+CIMI
ок отдал мой IMSI

просканил частоты 900+ так и не увидел своего IMSI
ловлю только левые

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

Проблема была в симке мегафона. не отдает он tmsi. beeline отдал
со снифом проблема остается. не вижу imsi/tmsi в wireshark. просканил, нашел 5 частот оператора би. на всех побывал

neo
Интересующийся
Сообщения: 24
Зарегистрирован: 20 окт 2016, 18:22

Проблема с получением TMSI

Сообщение neo »

Для начала нужно убедиться что телефон работает в режиме 2G.
В основном, IMSI проскакивает только в момент регистрации телефона в сети, все остальное время используется по большей части TMSI.
Что бы не гадать, было бы не плохо точно узнать на каком arfcn сейчас ваш телефон, многие телефоны могут показывать данную инфу из сервисных меню.
Далее по arfcn можно определить на какой частоте вещает базовая станция (downlink). Частоту по arfcn можно узнать например здесь: http://www.cellmapper.net/arfcn.php

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

да спасибо. после апдейта grgsm увидел все.
не хочу плодить темы продолжу тут
имею две мобилы(A,B), tmsi известны.

делаю

Код: Выделить всё

grgsm_capture.py -f 1806000000 -s 1e6 -g 40 -c cap.cfile -T 60
или
grgsm_capture.py -g 40 -a 29 -s cap.cfile -T 60
во время захвата отправляю смс A->B

Код: Выделить всё

grgsm_decode -a 29 -s 1e6 -c sms.cfile -m BCCH
Вижу только 1 пакет c tmsi B, A нет.
Paging Request Types 2

в левом Immediate Assignment:
Hopping channel: Yes // что это значит?

Код: Выделить всё

grgsm_decode -a 29 -s 1e6 -c sms.cfile -m SDCCH8
A,B tmsi не найдены.

Что делаю не так?
Пробовал отправлять наоборот B->A тогда по BCCH вижу оба tmsi. SDCCH8 по прежнему нет. оператор один.

neo
Интересующийся
Сообщения: 24
Зарегистрирован: 20 окт 2016, 18:22

Проблема с получением TMSI

Сообщение neo »

orion писал(а): Hopping channel: Yes // что это значит?
Проблема именно в этом, ваш оператор использует так называемый Hopping. Т.е. ваш телефон при переключении на выделенный канал (SDCCH8) начинает прыгать по частотам в процессе общения с БС. По этой причине вы видите лишь фрагменты пакетов.
Для того что бы снифать трафик с включенным хоппингом у оператора, в краце, вам необходимо записать эфир в широком диапазоне, затем прогнать через утилиту channelize, и лишь потом пропускать через гнурадио. На проекте grgsm есть готовые примеры графов для прослушивания траффика с хоппингами.

Удачи!

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

Да, как понял нужно в system info type 1 смотреть arfcn по которым прыгает. хотя похоже неверная информация, я в тупике.

Arfcn получаю на iphone4 (gsm cell environment -> cell info -> neighboring - 0)

Beeline
ARFCN 29 = 940.8
ARFCN 512 = 1805.6

MTS
ARFCN 20 = 939
ARFCN 759 = 1854.6

Когда слушаешь GSM900 (grgsm_capture.py -g 40 -a 29 -s 2M cap.cfile)
оба оператора в immediate assignment показывают hopping channel: NO

GSM1800 наоборот, hopping channel: YES
--------------------------------------------------------------------------------
GSM900 System information type 1:

Beeline:
LIST ARFCN: 86(952.2),29(940.8)
29(940.8) - тот что слушал
86(952.2) - пустой эфир

GSM1800 System information type 1:

Beeline:
LIST ARFCN
512 = 1805.2 - тот что слушал
514 = 1805.6 - пустой

MTS: (слушал 759(1854.6))
LIST ARFCN
790 = 1860.8 - пустой
801 = 1863 - пустой

neo
Интересующийся
Сообщения: 24
Зарегистрирован: 20 окт 2016, 18:22

Проблема с получением TMSI

Сообщение neo »

Не знаю смогу ли я тебе правильно все объяснить.
Тот список каналов для хоппинга означает лишь то, что когда создается выделенный канал ЛОГИЧЕСКИЙ (напр.SDCCH8) то именно на нем будут происходить хоппинги, т.е. сосредоточенно слушать эти каналы по отдельности смысла нет там будут лишь проскакивать фрагменты данных.

Что бы правильно принять трафик, нужно:
1. Записать "capture" трафик с большой полосой пропускания (что бы частоты всех каналов из того списка попали в эту запись), указав центральную частоту. По умолчанию полоса пропускания у capture где то 1.5 Мб.
2. С помощью grgsm_channelize нужно нарезать записанный трафик на каналы которые ты получаешь в SI1, не забыв указать ту же центральную частоту. В результате ты получишь несколько файлов (по файлу на канал)
3. Затем скачай вот этот граф для гнурадио https://raw.githubusercontent.com/ptrkr ... xample.grc
там нужно будет указать в качестве ресурсов полученные после нарезки файлы, так же проверь параметры блока CX Channel Hopper. Обрати внимание, по умолчанию Key decryption содержит левый ключ.
Эти блоки в графе сами будут переключаться по каналам в соответствии с параметрами сигнальной информации.
В общем как то так.

Для интереса можешь посмотреть на частоты тех каналов из списка для хоппинга через GQRX.

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

Код: Выделить всё

grgsm_capture.py -a 29 -s 20000000 -g 40 -c cap0_20M_a29.cfile -T 20
cap0_20M_a29.cfile 3.2GB

Код: Выделить всё

>grgsm_channelize.py -s 20e6 -i cap0_20M_a29.cfile -f 940.8e6 29 86
cfile -f 940.8e6 29 86
Input sample rate: 20M
Output sample rate: 1M
==> using resample rate of 0.05
Extracting channels [29, 86], given that the center frequency is at 940.8M
ARFCN 29 is at 940.8MHz +0Hz
ARFCN 86 is at 940.8MHz +11.4MHz
Done!
out_29.cfile 160mb
out_86.cfile 160mb

запускаю grgsm_hopping_example.grc в gnuradio
убираю ключ кс
указываю файлы out_29, out_86
отключаю 2 других блока и указываю в gsm_receiver_0 свои arfcn

жму пуск - открывается пустой терминал
gnuradio log:

Код: Выделить всё

Generating: '/home/user/grgsm_hopping_example.py'
>>> Warning: This flow graph may not have flow control: no audio or RF hardware blocks found. Add a Misc->Throttle block to your flow graph to avoid CPU congestion.

Executing: /usr/bin/gnome-terminal -e /usr/bin/python2 -u /home/user/grgsm_hopping_example.py


(gnome-terminal:4655): GLib-GIO-CRITICAL **: g_settings_get: the format string may not contain '&' (key 'monospace-font-name' from schema 'org.gnome.desktop.interface'). This call will probably stop working with a future version of glib.

>>> Done
------------------------------------------------------------------
Попробовал включить блок qtgui_sink_x_0
ошибок нет
появилось вот что
3dc041ec2c.jpg

Код: Выделить всё

Generating: '/home/zft/grgsm_hopping_example.py'
>>> Warning: This flow graph may not have flow control: no audio or RF hardware blocks found. Add a Misc->Throttle block to your flow graph to avoid CPU congestion.

Executing: /usr/bin/python2 -u /home/zft/grgsm_hopping_example.py


>>> Done
Что не так?

Код: Выделить всё

sudo grgsm_decode -c '/home/user/cap0_20M_a29/out_29.cfile' -a 29 -s 20000000 -m BCCH // в wireshark пусто

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

Код: Выделить всё

sudo grgsm_decode -c '/home/user/cap0_20M_a29/out_29.cfile' -a 29 -s 20000000 -m BCCH
-s 1e6 решил. но в графом проблема осталась

neo
Интересующийся
Сообщения: 24
Зарегистрирован: 20 окт 2016, 18:22

Проблема с получением TMSI

Сообщение neo »

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

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

Спасибо за ответ.
Но я даже по отдельности не могу декодировать 86/512.
49F7AE6E-8FC4-4FCD-B16A-2ACCA1173F2E-353-0000001545BDFAC2_tmp.png
09CBE04E-E6B2-4305-8D2D-529F6ECA7ED8-353-00000014CEF5857C_tmp.png

Код: Выделить всё

grgsm_capture.py -a 86 -s 2e6 -g 40 -c cap86.cfile -T 60
grgsm_decode -a 86 -s 2e6 -c cap86.cfile -m BCCH
пусто в wireshark.
так должно быть?
Последний раз редактировалось DesignerMix 01 ноя 2016, 07:40, всего редактировалось 1 раз.
Причина: Изображения можно загружать на форум просто перетягивая в поле ввода текста

neo
Интересующийся
Сообщения: 24
Зарегистрирован: 20 окт 2016, 18:22

Проблема с получением TMSI

Сообщение neo »

orion писал(а): пусто в wireshark.
так должно быть?
Да! так и должно быть. Дело в том что в доп каналах как правило нет пакетов синхронизации и других важных сигналов чтоб gnuradio смог их обработать.
Прослушивание доп каналов, без основного - бесполезная затея.

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

как правильно записать эфир?

neo
Интересующийся
Сообщения: 24
Зарегистрирован: 20 окт 2016, 18:22

Проблема с получением TMSI

Сообщение neo »

Для начала было бы неплохо узнать чем эфир слушаешь?
Имхо, тут важную роль сыграет ширина, т.е. bandwidth этого аппарата. Если эта ширина окажется меньше чем разница частот самых дальних из списка каналов, то я думаю понятно чем это чревато.
Касательно записи.
Можно простым способом. Создать новый граф в гнурадио добавить два блока: Osmocom Source (или RTL-Source) и File Sink.
Затем сорс настроить так, чтоб частота не совпадала не с одним из частот каналов и желательно чтоб находилась где то в центре. Так же, нужно расчитать ширину, что бы нужные нам частоты туда попали с небольшим запасом.
Указанную центральную частоту и размер сэмплирования нужно запомнить, их в точности нужно указать в grgsm_chanellizer.

Отправлено спустя 4 минуты 47 секунд:
Если все сделать правильно, то после нарезки, через FTT будет видно что она главном канале постоянный сигнал, а вспомогательных будут прыжки сигналов

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

hackrf, пропускная 20m у него.

86(952.2),29(940.8)
взял 946e6
samp 15e6

Код: Выделить всё

sudo grgsm_channelize.py -i 'cap_15m_946m.cfile' -s 15e6 -o 1e6 -f 946e6 29 86
[sudo] password for zft: 
Input sample rate: 15M
Output sample rate: 1M
==> using resample rate of 0.0666666666667
Extracting channels [29, 86], given that the center frequency is at 946M
ARFCN 29 is at 946MHz -5.2MHz
ARFCN 86 is at 946MHz +6.2MHz
Done!
через wx gui fft sink(если я правильно понял про FFT) подключенным к каждому файлу, видно постоянный канал и прыжки на втором.
в wireshark пусто. если включить gsm_clock_offset_control_0 и ветвь C0 будет вывод данных в wireshark, но видимо это только out_29.cfile.
граф http://pastebin.com/raw/anrh0CjC
могу прикрепить свои cfile.

тестил так с известными постоянными каналами, делил и каждую удалось декодировать через grgsm, получается захватываю верно.

neo
Интересующийся
Сообщения: 24
Зарегистрирован: 20 окт 2016, 18:22

Проблема с получением TMSI

Сообщение neo »

К сожалению я еще несколько дней буду в дороге лишь со своим ноутбуком, на котором нет нужных инструментов, могу лишь только помочь советами в слепую...
Если данные получилось записать правильно, то следующий этап это правильно настроить все блоки для хоппинга.
По поводу Wireshark.а, он должен по крайней мере показывать каналы BCCH и CCCH, если их нет значит что то не так!
Если данные из этих каналов видны топереходим к следующему этапу - Настройки хоппера. Нужно найти Immediate Assigment пакеты, но лишь те где назначается выделенный канал SDCCH8, там должны быть параметры хоппинга: Таймслот, HSN, MAIO и Training Sequense. Эти параметры нужно расставить в блоках Хоппера и Ресивера.
Training Sequense там сокращен и называется TSEQ. Порядок каналов тоже нужно везде соблюдать.
Пока все, если все сделаешь правильно то увидишь данные из канала SDCCH8 (или LAPDm в Wireshark)...

PS Если что делай скрины, это поможет быстрее разобраться

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

lapdm есть.
По порядку покажу:

out_29.cfile
imm_900.png
TS: 2
TSEQ: 0
MAIO: 0
HSN: 7
900_graph.png
результат:
900_ts2.png
Все пакеты unknown.

Эту процедуру сделал с gsm1800, результат:
//gsm1800 возможно не верно сделал, тк частоты слишком близко 512/514. -a 1805e6 -s 4e6 -o 800k
1805_ts3.png
Пробовал счелкать таймслоты - одни фрагменты или
1800_ts2.png
Отправлено спустя 21 минуту 55 секунд:
проверил только что mts(3 частоты разом 20/115/117), пакеты ciphering mode есть. дешифровать позже попробую
не понимаю почему с beeline так.

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

mts проверить не могу на достоверность пакетов ciphering - не отдает kc(как мега и теле2). tele2 тоже unknown пакеты только

neo
Интересующийся
Сообщения: 24
Зарегистрирован: 20 окт 2016, 18:22

Проблема с получением TMSI

Сообщение neo »

Все зависит от Hopping Sequence Number (HSN), если он не равен нулю то нужно смотреть спецификации каким образом будет формироваться последовательность прыжков.
Если часто проскакивают поломанные пакеты, так как каналов у тебя всего два, во первых посмотри на основном канале, были ли там пакеты LAPDm, если да то основной канал нужно тоже включить в список MA в хоппере, и дополнительно подключить соответствующий вывод.

orion
Интересующийся
Сообщения: 24
Зарегистрирован: 17 окт 2016, 13:03

Проблема с получением TMSI

Сообщение orion »

TS: 2
TSEQ: 0
MAIO: 0
HSN: 7
на основном есть пакеты LAMDm.
8n1.png
если выполнить с выбором t=2 grgsm_decode -a 29 -s 1e6 -c out_29.cfile -m SDCCH8 -t 2 получаю unknown пакеты
8n2.png
если да то основной канал нужно тоже включить в список MA в хоппере, и дополнительно подключить соответствующий вывод.
Добавил в список CX Channel Hopping: MA [86,29]
направил C0 в CX Channel Hopping вывод пустой.
8n3.png
пробовал так
8n4.png
8n5.png
не правильно делаю?

Ответить

Вернуться в «Программно-определяемое радио»