Coder Social home page Coder Social logo

bts's Introduction

Description

This is the easy-to-deploy GSM network based on 2 LimeSDR whose main purpose is working in tandem with radio jammer to collect all mobile devices in near surrounding. Radius depending on power of applied jammer and can reach 100-200 meters.

Requirements

  • 8 cores hardware
  • clean Ubuntu 20.04.3 LTS (not tested on other versions/distributions)
  • 2 x LimeSDR
  • preconfigured jammer with satisfying power
    • must cover all 3G, 4G downlink entirely (uplink unnecessary)
    • must cover all 2G downlink higher than 926MHz
    • must NOT cover range 820-926MHz (GSM-850 uplink+downlink, E-GSM-900 downlink+uplink)

Jammer remarks

  1. It is possible to use unconfigured(stock) jammer. In that case only devices which able to scan GSM-850 range by default will be collected.
  2. It is possible not to use jammer at all. In that case only devices which could not connect to any other mobile network will be collected.
  3. Jammer configuration is aimed to european region. In case of any other region you will have to perform radio investigation yourself in order to select right frequency ranges.

How it works?

  1. It deploys 2 GSM BTS
    1. first is broadcasting on E-GSM-900 (925.2MHz) [bait BTS]
    2. second is broadcasting on GSM-850 (869MHz) [true BTS]
  2. After manual running configured jammer and waiting 0.5-2 minutes most of the surrounding mobile devices connect to GSM network
  3. Moves first BTS to GSM-850 on frequency 871MHz (near to the second one). Bait turns into True BTS.
  4. Distributes subscribers equally between 2 true BTS.
  5. Calls/sms subscribers.

What is "bait BTS"?

Bait BTS - is temporarily BTS which is needed for "european" devices to discover our GSM network. Some of devices (mostly iPhones) are not scanning "american" GSM-850 frequency range by default - they need a lot of time (up to 30 minutes) to switch in "american mode". In order to speed this up "bait BTS" was introduced: it sends out to devices the "true" neighbour BTS on "american" frequency (second BTS) so devices save it to cache and use it when "bait BTS" dissappears from E-GSM-900 and appears on GSM-850.

Installation

./install <serial-of-first-LimeSDR> <serial-of-second-LimeSDR>

serial-of-first-LimeSDR - serial number of LimeSDR for "true" BTS
serial-of-second-LimeSDR - serial number of LimeSDR for "bait" BTS

That is it.
After installation you should be able to find new mobile network "250 98" and see 2 active BTS (via HackRF or any other SDR).

  1. True BTS on GSM-850 True BTS
  2. Bait BTS on E-GSM-900 with enabled preconfigured jammer Bait BTS

Stack of BTS services is going to start automatically each time system reboots.

Usage

After successful installation you can interact with GSM network via sdrconsole.py script only.

Examples

List of connected subscribers:

sdrconsole.py show

Move "bait BTS" from E-GSM-900 to GSM-850 (turn into "true BTS"):

sdrconsole.py 850

Call to all subscribers:

sdrconsole.py call <from-number> voice mp3 <full-path-to-mp3-file> all

SMS to all subscribers:

sdrconsole.py sms normal [once/spam] <from> <text> all

Start/stop BTS stack:

sdrconsole.py start
sdrconsole.py stop

These are basic cases. For more information use built-in help:

sdrconsole.py --help

Limitations

  • unlimited connected subscribers
  • 72 parallel calls
  • 384 parallel SMS

Roadmap

  1. Wrap into Docker

bts's People

Contributors

danealau avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.