テーブルの上のGSM

Web開発:HTTP、HTML、CSS、JavaScript、Python ...ああ。 すべて同じです。 だから私は根本的に異なるものに気を取られたいです。 私はモスクワのハックスペースニューロンに住んでいます! 周りに聞いてみませんか?



たとえば、NeuronにはFairwaves社の社員がおり、低コストのセルラーネットワーク用のGSM機器を開発しています。 ハードウェアからソフトウェアまでのスタック全体は、オープンソースライセンスの下で利用可能です。 はい、はい、 を含む。 したがって、この技術に精通するためにFairwavesで働く必要はありません。 そして、掘削の結果をGitHubに投稿したり、 既存の プロジェクトに貢献したりできます。 少なくとも、インタビューでは自慢することがあります。



ドキュメントを読み、コードをスクロールし、数十件の強迫的な質問と実験を行いました(Alexander ChemerisとIvan Klyuchnikovに感謝します)。 そして、ここに結果があります-私のMacBookの制御下にある私自身のGSMネットワーク:



ハブラフォン



ハックスペースのゲストがネットワークをテストするために来ました:



ロボットは「Hello、Habra!」というテキストを受け取ります。



彼らは何について話しているのですか?



ロボットがラップトップで話している。



どのように機能しますか? このように:



  + ---------------------------------------- +
  |  MacBook |
  |  |
  |  + ------------------------------- + |
  |  |  VirtualBox virtual |  |
  |  |  |  |
  |  |  + ---------------------- + |  |  |
  |  |  |  Dockerコンテナー|  |  |  \ | |  / |
  |  |  |  (Ubuntu 12.04)|  |  |  \ | |  / |
  |  |  |  |  |  |  \ | |  / |
  |  |  |  + ------------- + |  |  |  + ---- + ---- + + ------- +
  |  |  |  |  Openbsc |  |  |  |  |  |  |  |
  |  |  |  |  (osmo-nitb)| <------------------------- +基本|  |  GSM |
  |  |  |  |  |  |  |  |  | 駅|  | テレビ|
  |  |  |  + ------------- + |  |  |  |  |  | 背景|
  |  |  |  |  |  |  |  |  |  |
  |  |  + ---------------------- + |  |  + --------- + + ------- +
  |  |  |  |
  |  + ------------------------------- + |
  |  |
  + ---------------------------------------- +


コンピューターはUbuntuでVirtualBoxを実行し、Ubuntu 12.04およびオープンソースベースステーションコントローラーOpenBSC (ベースステーションコントローラー、BSC)でDockerコンテナーを実行します。 私の場合、OpenBSCはNetwork-in-the-Boxモードで動作し、BSCだけでなく、小規模なGSMネットワークに必要な他のすべてのコンポーネント( MSC、HLR、VLR、AuCSMSC )の単純な実装も含みます。



Fairwaves UmSITEベースステーションは、 OsmoBTSが回転しているローカルネットワークを介してコントローラーに接続されています-GSMベースステーションのオープンソース実装(ベーストランシーバーステーション、BTS):



UmSITE写真



GSMネットワークを開始するには、1つの(!)コマンドで十分です。



  docker run -v $ HOME / db:/ var / db -i -t -p 3002:3002 -p 3003:3003 -p 30000:30000 / udp -p 30001:30001 / udp -p 30002:30002 / udp -p 30003:30003 / udp -p 30004:30004 / udp -p 30005:30005 / udp -p 30006:30006 / udp -p 30007:30007 / udp shamrin / osmonitb start-nitb -i 10.0.0.10 -n HabraFon GSM1800 10 20


(Dockerがない場合はインストールします。Ubuntuがなく、Dockerがインストールされていない場合は、以下を参照してください。)



10.0.0.10



は、ホストDockerネットワークアドレス(ifconfig)に置き換える必要があります。 そして、使用されたチャネル番号ARFCNに 10



および20



。 どのチャンネルを示すか、尋ねますか? これは難しい質問です。 GSM周波数では、電力に関係なく、ライセンスなしでは何も放射できません。 しかし、単なる人間はライセンスを取得できません。 以下のオプションが残ります。



  1. ファラデーケージでのテスト。 適切なファラデーケージがない場合は、セルラーネットワークがキャッチせず、モバイルオペレーターに干渉するリスクがない(そしてユーザーに干渉しない)地下室で模倣します。 この場合、無線周波数スペクトル全体を自由に使用できます。512〜885の範囲で、少なくとも2〜3チャネル(できれば10チャネル)の差がある任意の数値のペアを指定できます。 たとえば、600と700。
  2. 資格のある専門家の監督の下で、未使用のチャンネルをいくつか見つけて、起動時にこれらのチャンネルを示します。 たとえば、Sagem OTなどのブロードキャストをスキャンできる電話を使用します。 もう一度、資格のある専門家の監督の下で!


他のコンテナオプションとstart-nitb



については、リポジトリを参照しください。



また、Ubuntuがない場合はどうなりますか?



Ubuntu 12.04+がない場合は、 VagrantVirtualBoxをインストールし、次のコマンドを使用してUbuntu + Docker仮想マシンを起動します。



  git clone https://github.com/shamrin/osmonitb-docker
 cd osmonitb-docker
浮浪者
浮浪者ssh


なぜDockerなのか?



はい、Dockerはオプションです。 手ですべてを配置および構成できます。 しかし、最初に、Dockerを試してみたかったです。 第二に、それを確実にラップしてから、マシン全体の構成(debianパッケージ、手動でインストールされたプログラム、構成ファイル)を繰り返すことができます。 第三に、多数のコマンドと操作のリストが1つに置き換えられましたdocker run …







なぜOpenBTSではありませんか?



説明されているOsmocomプロジェクト(OpenBSC、OsmoBTS、 OsmoTRX )に加えて、GSMプロトコルの別のオープンソース実装-OpenBTSがあります。 両方のプロジェクトの時代はほぼ同じですが、OpenBTSは初心者にとってもう少し親しみやすいため、インターネット上でよく知られています。 技術的な違いを詳しく調べない場合、実際にはOsmocomの方がうまく機能します

今年の初めにOsmocomソフトウェアの使用を開始しましたが、実際の展開ではOpenBTSよりもはるかに優れていることがわかりました。 クラッシュすることはほとんどなく、より多くの機能を備え、より優れた拡張性と柔軟性を備えています。



機器はどこで入手できますか?



モスクワの居住者にとって最も簡単なオプションは、 強化されたニューロンの機器を使用することです:)



モスクワに住んでいない場合、または自宅でGSMをプレイするための機器を持ちたい場合、研究室での使用には2つの比較的安価な選択肢があります。





機能に関しては、ほぼ同じですが、UmTRXには次の利点があります。





お金を節約したい場合で、リファレンスジェネレーターの問題がひどくない場合は、USRP B200を使用できます。 彼女にはチャネルが1つしかありませんが、家庭での実験ではこれは重要ではありません。 USRP B200のリファレンスジェネレータはGSM標準の精度に準拠していませんが、ほとんどの場合、テーブルでの簡単な作業には十分です。 USRP B200では、基地局の1つから別の基地局へのハンドオーバーに問題があるかもしれませんが、膝の上に価値の高いネットワークを構築する予定はありませんか?



しかし、私は偏見を持つことができます。自分で確認してください。



Andrei Bakhmat、Ivan Klyuchnikov、Pavel Trukhanov、Alexander Chemeris、および他のハックスペースの参加者に、このテキストの草案に関するコメントをありがとう。



All Articles