osmocom-bb中cell_log的多种使用姿势

转载留做备份,原文地址:http://92ez.com/?action=show&id=23342

翻阅osmocom-bb源码的时候注意到,在cell_log中有非常多我们从来没有注意到的功能。这些功能看起来并不是适合我们当前的使用环境。例如,在cell_log里面有GPS的扫描。我们目前所接触到的还没有涉及到GPS设备的使用。当然,osmocom-bb的功能是非常强大的,如果只是简单的搞个GSM嗅探,那未必也太大材小用,所以如果你手头上有GPS设备,不妨可以试一试,嗅探的信息入库,同时加上GPS信息,这样一来,收集的信息是不是瞬间变得有用的多,对于二次定向攻击我想没有比这个更好地吧。

好吧,废话不多说,我们来看看cell_log到底有啥神奇的功能。开始就说到我们可以使用-h参数调出帮助信息,那我们就试一下

[email protected]:~/projects/GSM/gsmweb1.1# ./cell_log -h
Copyright (C) 2010 Andreas Eversberg
 
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
 
Usage: ./cell_log
 Some help...
  -h --help     this text
  -s --socket       /tmp/osmocom_l2. Path to the unix domain socket (l2)
  -i --gsmtap-ip    The destination IP used for GSMTAP.
  -d --debug        Change debug flags.
 
Application specific
  -l --logfile LOGFILE  Logfile for the cell log.
  -r --rach RACH    Nr. of RACH bursts to send.
  -n --no-rach      Send no rach bursts.
  -g --gpsd-host HOST   127.0.0.1. gpsd host.
  -p --port PORT    2947. gpsd port
  -f --gps DEVICE   /dev/ttyACM0. GPS serial device.
  -b --baud BAUDRAT The baud rate of the GPS device
  -B --band BAND    Select scan band, one of: all (default), 900, 1800, 850, 1900.
  -G --log-gprs     Log some GPRS if available
  -O --only-scan    Do a scan and show available ARFCNs, no data logging
  -w --wait-time TIME   Time to wait in each cell

确实是很丰富很详细的帮助。我们一条条的阅读。-s和-h参数就不多说了,跟osmocon里面的是一样的,上一篇文章有介绍。先看-i参数,这个参数可以指定用于接受GSMTAP信息的机器的IP地址。比如我们有个虚拟机,虚拟机里面装个wireshark,我们想用wireshark来进行GSMTAP解析,这里就可以直接使用-i参数来指定虚拟机的IP

[email protected]:~/projects/GSM/gsmweb1.1# ./cell_log -i 192.168.2.206 -O
Copyright (C) 2010 Andreas Eversberg

License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Failed to connect to ‘/tmp/osmocom_sap‘.
Failed during sap_open(), no SIM reader
<000e> cell_log.c:864 Scanner initialized
Mobile initialized, please start phone now!
<000e> cell_log.c:443 Measure from 0 to 124
<000e> cell_log.c:443 Measure from 512 to 885
<000e> cell_log.c:443 Measure from 955 to 1023
<000e> cell_log.c:434 Measurement done

我们看下测试截图,指定到win虚拟机里面

好了,接着我们看-d参数,这个参数跟osmocon里面的-d参数使用方法是一样的,用来显示debug信息,不多说。

然后我们来看一些功能性的参数,第一个就是-l参数,这个参数就是记录cell_log所产生的一些日志,这个也很有用,我们在使用python脚本获取ARFCN扫描结果的时候就是可以用-l参数,这样扫描结果就会存储到文件,我们只需要读取文件就可以快速的获取到扫描结果了,而且根据测试发现,cell_log是实时写入文件的,所以可以动态获取到已经扫描出来的ARFCN,而不需要等到扫描结束。我们测试下

[email protected]:~/projects/GSM/gsmweb1.1# ./cell_log -l arfcn.log -O
Copyright (C) 2010 Andreas Eversberg

License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Failed to connect to ‘/tmp/osmocom_sap‘.
Failed during sap_open(), no SIM reader
<000e> cell_log.c:864 Scanner initialized
Mobile initialized, please start phone now!
<000e> cell_log.c:443 Measure from 0 to 124
<000e> cell_log.c:443 Measure from 512 to 885
<000e> cell_log.c:443 Measure from 955 to 1023
<000e> cell_log.c:434 Measurement done

这样会直接在文件所在的目录下面生成一个arfcn.log文件

查看下具体内容

[power]
time 1438377722
arfcn 0 -88 -70 -87 -80 -62 -79 -88 -86 -80 -87 -68 -85
arfcn 12 -94 -90 -87 -99 -97 -99 -94 -98 -79 -79 -102 -100
arfcn 24 -100 -87 -95 -100 -99 -92 -102 -100 -89 -100 -83 -98
arfcn 36 -86 -101 -96 -100 -94 -102 -98 -97 -77 -87 -100 -102
arfcn 48 -102 -88 -69 -86 -88 -100 -102 -83 -97 -93 -84 -97
arfcn 60 -101 -91 -74 -98 -103 -92 -77 -85 -69 -77 -83 -76
arfcn 72 -79 -84 -68 -72 -66 -77 -73 -78 -69 -83 -74 -74
arfcn 84 -66 -78 -74 -78 -80 -77 -92 -96 -92 -91 -78 -86
arfcn 96 -73 -70 -76 -70 -68 -78 -62 -65 -83 -81 -72 -80
arfcn 108 -87 -88 -71 -86 -82 -83 -88 -74 -73 -72 -72 -81
arfcn 120 -73 -74 -68 -79 -70
arfcn 512 -110 -90 -84 -83 -76 -81 -83 -88 -93 -83 -87 -90
arfcn 524 -89 -71 -89 -72 -83 -91 -84 -95 -86 -80 -95 -75
arfcn 536 -97 -97 -97 -96 -98 -97 -98 -86 -96 -97 -98 -97
arfcn 548 -98 -98 -96 -98 -99 -97 -98 -99 -98 -98 -96 -90
arfcn 560 -98 -98 -99 -97 -97 -98 -98 -97 -99 -99 -99 -99
arfcn 572 -98 -98 -99 -98 -97 -98 -98 -98 -99 -96 -98 -98
arfcn 584 -98 -97 -99 -97 -95 -97 -94 -95 -90 -97 -96 -97
arfcn 596 -97 -99 -97 -97 -86 -94 -96 -98 -97 -95 -97 -98
arfcn 608 -94 -98 -98 -97 -99 -97 -96 -96 -97 -97 -99 -97
arfcn 620 -100 -99 -98 -99 -99 -98 -97 -97 -99 -97 -97 -97
arfcn 632 -96 -98 -98 -98 -97 -85 -66 -81 -89 -91 -87 -94
arfcn 644 -90 -89 -93 -91 -79 -88 -95 -90 -86 -92 -76 -78
arfcn 656 -88 -91 -86 -90 -85 -95 -99 -97 -83 -95 -97 -97
arfcn 668 -99 -99 -98 -98 -98 -98 -99 -97 -97 -97 -95 -79
arfcn 680 -86 -88 -72 -85 -80 -90 -74 -92 -98 -99 -97 -99
arfcn 692 -94 -89 -88 -89 -88 -88 -90 -89 -87 -88 -85 -89
arfcn 704 -88 -89 -90 -89 -89 -91 -89 -88 -88 -89 -90 -89
arfcn 716 -89 -89 -89 -91 -89 -88 -90 -88 -88 -89 -88 -88
arfcn 728 -87 -89 -87 -88 -89 -88 -86 -88 -86 -88 -88 -87
arfcn 740 -86 -89 -88 -85 -87 -88 -87 -86 -88 -88 -86 -88
arfcn 752 -87 -87 -87 -87 -87 -87 -88 -86 -87 -90 -87 -87
arfcn 764 -88 -87 -85 -86 -87 -86 -86 -86 -87 -86 -89 -89
arfcn 776 -89 -89 -88 -89 -88 -89 -90 -101 -99 -101 -101 -101
arfcn 788 -101 -101 -100 -91 -84 -86 -87 -91 -89 -92 -89 -89
arfcn 800 -90 -90 -80 -88 -90 -89 -91 -88 -88 -88 -92 -85
arfcn 812 -92 -91 -89 -89 -89 -88 -88 -89 -89 -88 -89 -91
arfcn 824 -86 -90 -92 -82 -90 -89 -88 -89 -91 -89 -89 -89
arfcn 836 -89 -88 -89 -91 -88 -89 -90 -88 -88 -89 -88 -89
arfcn 848 -87 -89 -88 -90 -91 -88 -88 -88 -88 -88 -87 -100
arfcn 860 -101 -99 -100 -100 -100 -101 -100 -100 -101 -99 -101 -100
arfcn 872 -100 -100 -101 -101 -100 -100 -101 -101 -101 -100 -99 -101
arfcn 884 -101 -99
arfcn 955 -100 -101 -105 -102 -100 -103 -104 -103 -102 -102 -103 -94
arfcn 967 -100 -102 -99 -97 -102 -102 -98 -102 -103 -103 -97 -103
arfcn 979 -103 -105 -107 -104 -104 -105 -102 -105 -104 -105 -105 -102
arfcn 991 -104 -105 -103 -102 -103 -103 -102 -103 -101 -102 -100 -101
arfcn 1003 -101 -103 -104 -99 -100 -101 -101 -92 -100 -102 -103 -101
arfcn 1015 -100 -102 -90 -71 -89 -86 -92 -92 -104

[sysinfo]
arfcn 4
time 1438377722
bsic 2,2
rxlev -61
mcc 460 mnc 00
si2ter 01 06 03 bf 04 20 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b
si3 49 06 1b da 71 64 f0 00 59 dd d0 03 14 57 65 4e a5 00 00 1c 13 2b 2b

[sysinfo]
arfcn 103
time 1438377723
bsic 1,1
rxlev -65
mcc 460 mnc 01
si3 49 06 1b 84 97 64 f0 10 59 04 d0 00 0a 5c 65 08 79 00 00 80 00 b0 43

文件中记录了详细的ARFCN信息,读取非常的方便。接下来我们看参数-r,这个参数的解释是

-r --rach RACH  Nr. of RACH bursts to send.

RACH是个什么鬼?查阅资料得知,RACH的中文名称叫做“随机接入信道“,这里给出一个百科

RACH(Random Access Channel)即随机接入信道,是一种上行传输信道。RACH在整个小区内进行接收,常用于PAGING回答和MS主叫/登录的接入等。

具体的用途这里就不说了,篇幅有限,有兴趣的可以去查阅相关资料了解下。具体能用来干啥,博主暂时还没研究出来,待我仔细查阅资料搞明白之后再补上相关细节。

接下来就是参数-n了,这个参数表示不发送rach信息出去,具体作用有待研究。

继续看参数-g,这个参数代表的是gpsd服务的IP地址,比如我们有个GPS设备,访问GPS设备并从设备上获取相关信息的时候就需要通过-g参数指定GPS服务的host,也就是IP地址。博主这里没有GPS设备,所以暂时无法测试。

下面要看的是参数-p,这个参数其实是跟-g参数配合使用的,作用是指定GPS设备的端口,一般GPS设备都是在一个默认的端口(2947)上传递数据的,如果这个端口被修改,则需要使用-p参数指定端口。

接着看-f参数,这个参数是指定GPS设备的标识,默认的是/dev/ttyACM0。

参数-b就是指定GPS设备的俄波特率

参数-B是指定扫描的频段,默认是扫描所有频段,可选频段为900, 1800, 850, 1900四个。

参数-G的把GPS日志记录下来

参数-O标示只扫描而不记录扫描日志

参数-w指的是扫描每个基站时候所等待的时间

好了,上面就是cell_log的所有参数,基本意思解释清楚了,希望能够需要的朋友一些参考。

时间: 2024-10-25 21:33:18

osmocom-bb中cell_log的多种使用姿势的相关文章

iOS中解析json多种方法

我感觉JSON解析,重要的是JSON解析之后对结果的处理JSON解析后是个dictionary,但是字典中有可能包含字典和数组,数组中还可以包含字典.向客户端请求的返回数据解析下面就简单介绍一下JSON解析过程其实就一句话 "data就是解析数据"!!!!!!!!!!!!!! //xcode自带解析类NSJSONSerialization从data中解析出数据放到字典中NSDictionary *weatherDic = [NSJSONSerialization JSONObjectW

Android中使用多线程的各种姿势

写在前面:内容主要为黄岳钊老师视频分享课的学习笔记. 1)为什么需要多线程处理? 解决耗时任务 文件IO.联网请求.数据库操作.RPC 提高并发能力 同一时间处理更多事情 防止ANR InputDispatching Timeout:输入事件分发超时5s(触摸或按键) Service Timeout:服务20s内未执行完 BroadcastQueue Timeout:前台广播10s内未执行完 ContentProvider Timeout:内容提供者执行超时 避免掉帧 要达到每秒60帧,每帧必须

Intellij IDEA中使用Protobuf的正确姿势

一..proto文件语法高亮显示 需要安装Protobuf Support插件 依次点击Intellij中的"File"-->"Settings"-->"Plugins"-->"Browse repositories",如下所示: 输入Protobuf,如下所示 安装完后,重启Intellij IDEA,查看.proto文件,会发现已经支持语法高亮显示. 二.将.proto文件转成Java类 一般的做法,是执

Perl删除数组中元素的多种方法

Perl中的数组元素起始引用序号为0,@array的第一个元素为$array[0],依次递增,最后一个元素为$array[-1]或者$#array.如果要删除一个数组中已有的元素,可以用以下几个函数来实现. 1.函数名 grep调用语法 @foundlist = grep (pattern, @searchlist);解说 与同名的UNIX查找工具类似,grep函数在列表中抽取与指定模式匹配的元素,参      数pattern为欲查找的模式,返回值是匹配元素的列表.例子 @list = ("T

Python中if-else的多种写法

a, b= 1, 2 将a和b两个变量中的最大值赋值给c (1)常规写法 if a>b: c = a else: c = b (2)表达式 c = a if a>b else b (3)二维列表 c = [b,a][a>b] (4)逻辑赋值 c = (a>b and [a] or [b])[0] 分析: 1.2为程序的基本语法不讨论 3:首先a>b的取值为True或False,而在python中True的默认值为1False的默认值为0. 可得c = [b, a][1]或[b

PHP学习笔记--数组中常用的多种遍历方式

数组的遍历 * * 1. 使用for语句循环遍历数组 * a. 其它语言(只有这一种方式) * b. PHP中这种方式不是我们首选方式 * c. 数组必须是索引数组,而且下标还必须是连续的 * (索引数组下标还可以不连序,数组还有关联数组) * * * 2. 使用foreach语句循环遍历数组 * foreach(数组变量 as 变量值){ * //循环体 * } * a. 循环次数由数组的元素个数决定 * b. 每一次循环都会将数组中的元素分别赋值给后面变量 * * foreach(数组变量

JS中循环的多种使用方式

JS中循环的遍历 在js中我们一般都使用for循环,但是这样的代码见的多了,总是感觉到审美疲劳,而且有更好的方式可以替代for循环,比如js的foreach和jquery的each. 我们看一行代码,这是一个多选框(html代码) <input type="checkbox" name="senceIds" lay-skin="primary" value='1' title='全自助黄金卡' checked /> <input

从开源编译器中移植代码的正确姿势

转眼间已经到了大三下学期了,马上就要实习了,最后一个学期我会好好珍惜的.为了让这个学期过的有格调,我打算每一件事情都做得有逼格一点. 开学第三周我们学校就开始陆陆续续有实验课了,做一个词法分析器? 好嘞,劳资要用Sourceinsight把开源的GCC里面的词法分析代码全部移植出来,就问你牛不牛批!!! 脑海中已经浮现出了助教对我异样的眼光,哈哈,不多说了,盘它!!!!!! 首先,进入gcc的官网,找到它最旧的一个版本(好像88年就有gcc了),但是我在官网上只能找到98年的.整个文件也才几百K

.NET Core 中正确使用 HttpClient 的姿势

来源: https://mp.weixin.qq.com/s?__biz=MzAxMTA2MDYwNg==&mid=2650110453&idx=1&sn=63a84a1b86594c98eec0cc4149604fd2&scene=21#wechat_redirect 用途: 备忘 为了更方便在服务端调用 HTTP 请求,微软在 .NET Framework 4.x 的时候引入了 HttpClient.但 HttpClient 有很多严重问题,一直饱受诟病,比如 Info