Создаем свою GSM сеть

Кому нибудь нужно это?

  • Нет

    Голосов: 7 18,9%
  • Нет

    Голосов: 9 24,3%
  • Да

    Голосов: 21 56,8%

  • Всего проголосовало
    37

fraPPy

Знающий
Дней с нами
3.177
Розыгрыши
0
Сообщения
190
Репутация
16
Реакции
175
Telegram
frappy_s
Сегодня мы будем делать GSM сеть, чтобы отправлять смс от имени банка
Что нам потребуется:
1. Компьютер с установленной 32-битной Ubuntu 14.04 (Не виртуалка)
2.два телефона на чипсете TI Calypso (Motorola c113, c118, c123, ...)
3.два USB-TTL конвертера
4.два провода (джек 2.5 мм + джемперы)

Ну допустим вы нашли все компоненты, что делать дальше?

Теперь начинаем издеваться над телефонами

Подключаем телефон к компьютеру через USB-TTL конвертер и собранный провод, коротко нажимаем на кнопку включения и в окне PuTTY должно появиться сообщение @ftmtoolerror среди прочих символов.

Установка по

Как и сказано в начале, я рекомендую использовать Ubuntu 14.04, именно 32-битную ее версию. Возможно у Вас получится все установить и на 64-битную Ubuntu 16.04, но тогда Вам придется самостоятельно решать все проблемы с зависимостями при установке и совместимостью с ветками проектов Osmocom.

Также, Вы можете попытаться использовать виртуальную машину, но мне так и не удалось получить устойчивую связь на гостевой ОС. Возможно, проблемы возникают на уровне виртуализации USB порта.

Вы можете использовать виртуальную машину для работы с osmocombb и его отдельными приложениями, но если дело касается запуска GSM сети, я советую не использовать виртуализацию.

Установим базовые пакеты, которые нам потребуются для сборки Osmocom.
Код:
apt-get install build-essential libtool libtalloc-dev shtool autoconf automake git-core pkg-config make gcc libpcsclite-dev

Код:
git clone git://git.osmocom.org/libosmocore.git cd libosmocore/ autoreconf -i ./configure make make install ldconfig -i


Для сборки программ для телефона нам потребуется кросс-компилятор toolchain. На официальном сайте сейчас представлена более новая версия, но с ней не будут работать старые ветки osmocombb, которые писались под старый компилятор.

Код:
git clone https://github.com/axilirator/gnu-arm-installer.git
cd gnu-arm-installer
apt-get install libgmp3-dev libmpfr-dev libx11-6 libx11-dev flex bison libncurses5 libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev texinfo
./download.sh
./build.sh

Код:
vi /etc/bash.bashrc add in the end export PATH=$PATH:/root/osmocom/gnu-arm-installer/install/bin

Код:
git clone git://git.osmocom.org/osmocom-bb.git osmocombb cd osmocombb/src make

Вы спросите" долго ещё???"
Я отвечу "ДА"

Устанавливаем пакет FFT

Код:
wget http://www.fftw.org/fftw-3.3.6-pl2.tar.gz
tar -xvzf fftw-3.3.6-pl2.tar.gz
cd fftw-3.3.6-pl2
./configure --enable-threads --enable-float
make
make install
ldconfig


Устанавливаем библиотеку libosmo-dsp

Код:
git clone git://git.osmocom.org/libosmo-dsp.git
cd libosmo-dsp/
autoreconf -i
./configure
make
make install
ldconfig


Собираем ветку osmocombb для OsmoBTS

Код:
git clone git://git.osmocom.org/osmocom-bb.git trx
cd trx/
git checkout jolly/testing
cd src/


Нужно раскомментировать в target/firmware/Makefile строку

Код:
CFLAGS += -DCONFIG_TX_ENABLE


Компилируем:

Код:
make HOST_layer23_CONFARGS=--enable-transceiver


Устанавливаем libdbi для sqlite

Код:
apt-get install sqlite3 libsqlite3-dev libsctp-dev

Скачиваем
https://sourceforge.net/projects/libdbi/files/libdbi/libdbi-0.8.3/

Код:
tar -xvzf libdbi-0.8.3.tar.gz
cd libdbi-0.8.3
autogen.sh
./configure --disable-docs
make
make install
ldconfig
cd ..


Скачиваем: sourceforge.net/projects/libdbi-drivers/files/libdbi-drivers/libdbi-drivers-0.8.3

Код:
tar -xvzf libdbi-drivers-0.8.3.tar.gz
cd libdbi-drivers-0.8.3


В драйвере есть опечатка, которая приведет к ошибкам во время подключения к HLR. Исправляем перед компиляцией.

Код:
vi drivers/sqlite3/dbd_sqlite3.c


Меняем _dbi_internal_error_handler на _dbd_internal_error_handler.

Собираем:

Код:
./autogen.sh
./configure --disable-docs --with-sqlite3 --with-sqlite3-dir=/usr/bin --with-dbi-incdir=/usr/local/include
make
make install
ldconfig


Устанавливаем ORTP

Код:
wget http://download.savannah.gnu.org/releases/linphone/ortp/sources/ortp-0.22.0.tar.gz
tar -xvf ortp-0.22.0.tar.gz
cd ortp-0.22.0/
./autogen.sh
./configure
make
make install
ldconfig


Устанавливаем библиотеку libosmo-abis

Код:
git clone git://git.osmocom.org/libosmo-abis.git
cd libosmo-abis
autoreconf -i
./configure
make
make install
ldconfig


Устанавливаем библиотеку libosmo-netif

Код:
git clone git://git.osmocom.org/libosmo-netif.git
cd libosmo-netif
autoreconf -i
./configure
make
make install
ldconfig


Устанавливаем OpenBSC

Код:
apt-get install libssl0.9.8 libssl-dev
ldconfig
git clone git://git.osmocom.org/openbsc.git
cd openbsc/openbsc/
autoreconf -i
./configure
make
make install


Устанавливаем OsmoBTS

Код:
git clone git://git.osmocom.org/osmo-bts.git
cd osmo-bts
autoreconf -i
./configure --enable-trx
make
make install


Конфигурация

Я работаю с Osmocom из под root, поэтому мои файлы конфигурации находятся в /root/.osmocom

mkdir /root/.osmocom;cd /root/.osmocom
touch ~/.osmocom/osmo-bts.cfg
touch ~/.osmocom/open-bsc.cfg

Дальше скачиваем гуид
https://osmocom.org/projects/osmonitb/wiki/OsmoNITB

Наконец-то вы всё скачали, настроили (можете погладить себя по голове)

Запуск
Подключаем оба телефона к компьютеру и проверяем их доступность.

Код:
ls -l /dev/ttyUSB*

Инициализируем первый трансивер

Код:
cd /root/osmocom/trx/src
host/osmocon/osmocon -m c123xor -p /dev/ttyUSB0 -s /tmp/osmocom_l2 -c target/firmware/board/compal_e88/trx.highram.bin -r 99


Коротко нажимаем на кнопку включения телефона, который был подключен первым. После окончания загрузки на экране телефона Вы увидите надпись TRX.

Инициализируем второй трансивер

Код:
cd /root/osmocom/trx/src
host/osmocon/osmocon -m c123xor -p /dev/ttyUSB1 -s /tmp/osmocom_l2.2 -c target/firmware/board/compal_e88/trx.highram.bin -r 99


Коротко нажимаем на кнопку включения телефона, который был подключен вторым. После окончания загрузки на экране телефона Вы увидите надпись TRX.

Настраиваем трансиверы на следование таймеру коммерческой BTS

Вместо ARFCN вы должны указать номер канала, на котором работает коммерческая базовая станция с хорошим сигналом. Опять же, может быть найдена при помощи RSSI или cell_log.

Код:
cd /root/osmocom/trx/src/host/layer23/src/transceiver/
./transceiver -a ARFCN -2 -r 99


Запускаем MSC, HLR и СМС-центр

Код:
cd /root/.osmocom
osmo-nitb -c ~/.osmocom/open-bsc.cfg -l ~/.osmocom/hlr.sqlite3 -P -C --debug=DRLL:DCC:DMM:DRR:DRSL:DNM


Запускаем базовую станцию

Код:
cd /root/.osmocom
osmo-bts-trx --debug DRSL:DOML:DLAPDM -r 99
Вот собственно всё готово
Конектимся с основного телефона к нашей станции с именем TestNet (это можно изменить в предыдущей части, например на МТС или Билайн или хз какие у вас там(но вы же не будете менять имя, чтобы не заиметь проблем с законом?! )
 
Последнее редактирование модератором:
Один вопрос. Зачем?
 
  • Like
Реакции: KrolikAlkogolik
Как вариант я уже сказал, подменой индификатора можно представиться вышкой любого оператора и слать от любого номера/имени любые сообщения
 
мне вот интересно.
Вот сидел чувак , думал что же сделать и стал над бедными моторолками издеваться
Сколько чувак потратил на этот способ время?
 
  • Like
Реакции: Zebatuq и faseri
ХАЙД ПОСТАВЬ ЛОЛ
 
через тег CODE консольные комманды пиъай плз
 
Тут так сложно что и хайд не нужен) lol
 
  • Like
Реакции: faseri и adssad
Для этого форума это сложно,лучше бы про алик че нибудь придумал :D
А так,годно;)
 
а теперь давай пили статью как халявный инет сделать :)
 
Спасибо, буду знать, чем можно заняться.
 
как-то долго занимает времени