Getting started with 3G | ip.access nano3G+OpenBSC+Osmocom-bb Part 1

English Version could be find at Osmocom.org

https://osmocom.org/projects/cellular-infrastructure/wiki/Accelerate3g5_–_unicornteam

0x01环境搭建

PC:Ubuntu16.04

HardWare:ip.access nano3G

SoftWare:Osmocom

1.1 安装交叉编译环境

sudo apt-get update

sudo apt-get install libtool shtool autoconf git-core pkg-config make gcc build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dbg libusb-0.1-4 libpcsclite1 libccid pcscd libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev libpcsclite-dev
sudo ldconfig

mkdir osm
cd osm
mkdir build install src
wget http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.3.sh
cd src
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2
wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz

cd ..
chmod +x gnu-arm-build.3.sh
sudo bash gnu-arm-build.3.sh

1.2 设置交叉编译环境变量

cd install/bin
pwd

vi ~/./.bashrc
export PATH=$PATH:/home/$username(change this to your name)/osm/install/bin

#save and quit
source ~/.bashrc

0x02 源码编译CalypsoBTS

2.1 编译libosmo-dsp

git clone git://git.osmocom.org/libosmo-dsp.git
cd libosmo-dsp/
autoreconf -i
./configure
make
sudo make install
cd ..

2.2 编译osmocom-bb

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

# 需要 TX 功能支持
# 取消target/firmware/Makefile代码中‘CFLAGS += -DCONFIG_TX_ENABLE‘ 前边的注释
# 并在make时启用transceiver功能支持
make HOST_layer23_CONFARGS=--enable-transceiver 

2.3 安装依赖包

sudo apt-get install sqlite3 libdbi-dev libdbd-sqlite3 libsctp-dev

2.4 编译 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/
./configure
make
sudo make install
sudo ldconfig
cd ..

2.5 编译libosmo-abis

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

2.6 编译libosmo-netif

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

2.7 编译openbsc

编译Openbsc时需用到PCAP库文件,编译前先搜索&安装依赖包:

apt-cache search PCAP
sudo pat-get install libpcap-dev libpcap0.8 libpcap0.8-dbg libpcap0.8-dev
sudo ldconfig

git clone git://git.osmocom.org/openbsc.git
cd openbsc/openbsc/
autoreconf -i
./configure
make
sudo make install
cd ../..
git clone git://git.osmocom.org/openbsc.git
cd openbsc/openbsc/
autoreconf -i
./configure
make
sudo make install
cd ../..

2.8 编译osmo-bts

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

2.9 创建OpenBSC配置文件

#如果配置文件不存在需要先创建 Create the configuration folder if it isn‘t exist yet
mkdir ~/.osmocom
cd ~/.osmocom
touch ~/.osmocom/open-bsc.cfg
touch ~/.osmocom/osmo-bts.cfg

0x03 源码编译Cellular Infrastructure

3.1 克隆源码

git clone git://git.osmocom.org/libosmocore
git clone git://git.osmocom.org/libosmo-abis
git clone git://git.osmocom.org/openbsc
git clone git://git.osmocom.org/libosmo-netif
git clone git://git.osmocom.org/libosmo-sccp
git clone git://git.osmocom.org/libsmpp34
git clone git://git.osmocom.org/openggsn

3.2 下载&执行自动编译脚本

wget https://osmocom.org/attachments/download/2438/build_2G.sh
chmod 777  build_2G.sh
sudo bash build_2G.sh

0x04 配置OpenBSC

4.1 启动BTS

终端1:

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

终端2:

telnet localhost 4242

4.2 配置IP

PC

IP:192.168.31.147 (通过WiFi连接)

路由器

IP:192.168.31.1

3G Access Point

IP:未知

方法1:进入路由后台,查找3G Access Point IP

方法2:通过abissip-find找到3G Access Point IP

cd openbsc/openbsc/src/ipaccess
#or
cd openbsc/openbsc/build-2G/src/ipaccess

sudo ./abisip-find

4.3 Telnet连入3G Access Point

telnet 3G Access Point‘s IP 8090

4.4 SSH连入

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 [email protected]192.168.31.136
password:newsys

ipaccess-config

[email protected]:~/osm/openbsc/openbsc/src/ipaccess$ ./ipaccess-config --help
ipaccess-config (C) 2009-2010 by Harald Welte and others
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY

Usage: ipaccess-config IP_OF_BTS
Commands for writing to the BTS:
  -u --unit-id UNIT_ID        Set the Unit ID of the BTS
  -o --oml-ip IP        Set primary OML IP (IP of your BSC)
  -i --ip-address IP/MASK    Set static IP address + netmask of BTS
  -g --ip-gateway IP        Set static IP gateway of BTS
  -r --restart            Restart the BTS (after other operations)
  -n --nvram-flags FLAGS/MASK    Set NVRAM attributes
  -S --nvattr-set FLAG    Set one additional NVRAM attribute
  -U --nvattr-unset FLAG    Set one additional NVRAM attribute
  -l --listen TESTNR        Perform specified test number
  -L --Listen TEST_NAME        Perform specified test
  -s --stream-id ID        Set the IPA Stream Identifier for OML
  -d --software FIRMWARE    Download firmware into BTS

Miscellaneous commands:
  -h --help            this text
  -H --HELP            Print parameter details.
  -f --firmware FIRMWARE    Provide firmware information
  -w --write-firmware        This will dump the firmware parts to the filesystem. Use with -f.
  -p --loop            Loop the tests executed with the --listen command.

ipaccess-proxy

[email protected]:~/osm/openbsc/openbsc/src/ipaccess$ ./ipaccess-proxy --help
Usage: ipaccess-proxy [options]
 ipaccess-proxy is a proxy BTS.
 -h --help. This help text.
 -l --listen IP. The ip to listen to.
 -b --bsc IP. The BSC IP address.
 -g --gprs IP. Take GPRS NS from that IP.

 -s --disable-color. Disable the color inside the logging message.
 -e --log-level number. Set the global loglevel.
 -T --timestamp. Prefix every log message with a timestamp.
 -V --version. Print the version of OpenBSC.

0x05 Reference

https://osmocom.org/projects/cellular-infrastructure/wiki/Build_from_Source
http://osmocom.org/projects/baseband/wiki/CalypsoBTS
https://osmocom.org/projects/cellular-infrastructure/wiki/Getting_Started_with_3G
https://osmocom.org/projects/osmocscn/wiki/Osmocom_3G_-_Getting_Started/3
https://osmocom.org/projects/cellular-infrastructure/wiki/Configuring_the_ipaccess_nano3G

时间: 2024-11-05 18:44:42

Getting started with 3G | ip.access nano3G+OpenBSC+Osmocom-bb Part 1的相关文章

4G IP MODEM 3G IP MODEM 2G IP MODEM风力电场电力无线专网

方案需求 风力发电是环保的清洁能源,但是风力发电机组多安装在高山.荒野.海滩和海岛等风口处,常年经受无规律的变向变负荷的风力作用以及强阵风的冲击和酷暑严寒极端温差的影响,从而导致许多风力发电机组出现不同形式的故障,且增加了高额的运行维护成本. 风力发电场通常设置在迎风面的海岸.近岸的浅海区域.内陆无人地带迎风面的平地或丘陵地带上,都是属于人烟稀少环境恶劣的区域.不方便人员的维护和故障检查及抢修.因此,依据风力发电机组远程状态监测与故障诊断的需求,远程在线状态监测和分析诊断风电设备状态. 技术部署

DTU消防栓水压传感器的数据传输4G IP MODEM 3G IP MODEM

方案需求 智能消防栓监控系统采用物联网技术和无线通讯技术,通过智能消防栓监测器对消防栓用水.撞倒.水压.漏损进行监控,将消防栓状态.用水情况等数据通过无线网络实时发送给监控中心,监控中心再通知自来水公司巡查人员进行现场取证.制止.恢复. 技术部署 NB-IoT智慧消防栓不改变消防栓结构,直接替换原有闷盖,利用NB-IoT技术,依托云管理系统建立完善的数据管理平台,对消防栓进行及时.高效的监管.当拧动NB-IoT智慧消防栓时,倾斜开关发生位置偏离并导通,触发报警装置将报警信息通过NB-IoT远传至

AFNetworking 原作者都无法解决的问题: 如何使用ip直接访问https网站?

背景 最近App似乎有报异常是DNS无法解析,尝试解决此问题.搜集到的资料很少,甚至连AFN原作者都判定这可能是一个无解的问题,参见: https://github.com/AFNetworking/AFNetworking/issues/2954,不过最终还是靠着stackoverflow上的一丁点提示,顺利找到并汇集成了一个可用的解决方案.大喜,与君共享! 问题描述 通过IP直接访问网站,可以解决DNS劫持问题.DNS劫持,可以通过修改电脑的host文件模拟.如果是HTTP请求,使用ip地址

Shell练习-统计出每个IP的访问量有多少?

下载下面的日志并且复制粘贴到你的Linux里,然后进行统计分析: 1.log (118.01 KB, 下载次数: 1698) 要求: 统计出每个IP的访问量有多少? 提示,先awk过滤出ip,然后进行排序,统计重复数. #!/bin/bash #Statistics for each IP access #2015/07/22 21:44  awk -F' ' '{print $1}' 1.log |sort -n |uniq -c |sort -n

Packet Tracer 5.2实验(十三) 扩展IP访问控制列表配置

Packet Tracer 5.2实验(十三) 扩展IP访问控制列表配置 一.实验目标 理解扩展IP访问控制列表的原理及功能: 掌握编号的扩展IP访问控制列表的配置方法: 二.实验背景 分公司和总公司分别属于不同的网段,部门之间用路由器进行信息传递,为了安全起见,分公司领导要求部门主机只能访问总公司服务器的WWW服务,不能对其使用ICMP服务. 三.技术原理 访问列表中定义的典型规则主要有以下:源地址.目标地址.上层协议.时间区域: 扩展IP访问列表(编号为100~199,2000~2699)使

第十三章 IP访问控制列表(ACL)

第十三章 IP访问控制列表(ACL) 为什么要使用访问列表 管理网络中逐步增长的 IP 数据 当数据通过路由器时进行过滤 访问列表的应用 允许.拒绝数据包通过路由器 允许.拒绝Telnet会话的建立 没有设置访问列表时,所有的数据包都会在网络上传输 什么是访问列表--(标准,扩展) 标准 检查源地址 通常允许.拒绝的是完整的协议 扩展 检查源地址和目的地址 通常允许.拒绝的是某个特定的协议 什么是访问列表 进方向和出方向 访问列表配置指南 访问列表的编号指明了使用何种协议的访问列表 每个端口.每

[Lab4-1]抓路由练习题

[Lab4-1]抓路由练习题 问题1: 用ACL抓取172.18.0.0/16----172.29.0.0/16的路由 答案: 172.16.0.0 0.15.255.255,看上去很完美,但实际上框的范围有些大. R1(f0/0)-(f0/0)R2 R1上的接口地址: R1#sh ip int b Interface IP-Address OK? Method Status Protocol FastEthernet0/0 12.1.1.1 YES NVRAM up up Loopback0

web服务器管理Linux必备的命令

1.站点根目录下查找是否被放置webshell木马根据语句判断是不是PHP木马脚本 # find /storage/www/ -name "*.php" | xargs grep-in --color "eval("# grep -i --include='*.php' -r system\s*\( /storage/www/2.统计访问日志中来自同ip出现的次数分析盗链.攻击.机器人# cat access.log |awk '{print $1}'| sort

清默网络——动态访问列表

动态访问列表 动态ACL,也被称为lock-and-key ACL,在1996年作为选项引入思科 IOS.动态ACL仅支持IP流量.动态ACL依赖于telnet连接,用户telnet路由器,并验证通过,此时telnet自动断开,并动态产生一条 临时ACL语句.当一段时间内,无该语句相关流量通过,临时的ACL语句消失.         动态访问表是对传统访问表的一种重要功能增强.我们从动态访问表的名称就可以看出,动态访问表是能够创建动态访问表项的访问表.传统的标准访问表和扩展 的访问表不能创建动态