如何使用HackRF做一个简单的IMSI捕获器

简介: 关于IMSI IMSI为国际用户识别码(International Mobile Subscriber Identity)的缩写,是用于区分蜂窝网络中不同用户的,在所在蜂窝网络中不重复的识别码。IMSI可以用于在归属位置寄存器(HLR)和拜访位置寄存器(VLR)中查询用户信息,为了避免被监听者识别并追踪特定用户,有些情形下手机与网络之间的通信会使用随机生成的临时移动用户识别码(TMSI)代替IMSI。

关于IMSI

IMSI为国际用户识别码(International Mobile Subscriber Identity)的缩写,是用于区分蜂窝网络中不同用户的,在所在蜂窝网络中不重复的识别码。IMSI可以用于在归属位置寄存器(HLR)和拜访位置寄存器(VLR)中查询用户信息,为了避免被监听者识别并追踪特定用户,有些情形下手机与网络之间的通信会使用随机生成的临时移动用户识别码(TMSI)代替IMSI。

如图,IMSI由MCC(移动国家代码),MNC(移动网络代码)以及MSIN(移动用户识别代码)组成,一般为15位。

准备工作

所需硬件

HackRF one

安装IMSI-catcher,gr-gsm,gnuradio及其他

安装过程可以参考这里,步骤基本相同。

apt-get install gnuradio gnuradio-dev gr-osmosdr

sudo apt-get install git cmake libboost-all-dev libcppunit-dev swig doxygen liblog4cpp5-dev python-scipy
git clone https://github.com/ptrkrysik/gr-gsm.git
cd gr-gsm
mkdir build
cd build
cmake ..
make
sudo make install
sudo idconfig

git clone https://github.com/Oros42/IMSI-catcher.git

在/root/.gnuradio中创建文件config.conf并粘贴以下内容:

[grc]
local_blocks_path=/usr/local/share/gnuradio/grc/blocks

最后安装kalibrate-hackrf(可以不装,不装的话直接看下面)

apt-get install automake autoconf
git clone https://github.com/scateu/kalibrate-hackrf.git
cd kalibrate-hackrf
./bootstrap
./configure
make
make install

确定频率

如果安装了kalibrate-hackrf:

cd kalibrate-hackrf
cd src
./kal -s GSM900 -g 40 -l 40

稍作等待,即出现下图所示情况

打开gr-gsm_livemon,选择刚刚获取的其中一个频率并进行微调,直到终端显示数据。

grgsm_livemon

出现数据就会像下图一样

如果没有装kalibrate-hackrf,那只能从一开始给的频率慢慢调了。

获取IMSI

切换目录

cd IMSI-catcher/

修改权限

chmod u+x simple_IMSI-catcher.py

运行

./simple_IMSI-catcher.py

稍等片刻,即可显示信息

打开wireshark可以查看更详细的信息

sudo wireshark -k -Y 'gsmtap && !icmp' -i lo

另:根据LAC和cellId可进行基站定位,点击这里进入定位网站

IMSI查询可以点击这里

参考来源:

https://zh.wikipedia.org/wiki/国际移动用户识别码

http://www.rtl-sdr.com/using-an-rtl-sdr-as-a-simple-imsi-catcher/

相关文章
|
安全 调度 虚拟化
阿里云郑晓:浅谈GPU虚拟化技术(第三章)
本系列文章推送门: 阿里云郑晓:浅谈GPU虚拟化技术(第一章) GPU虚拟化发展史 阿里云郑晓:浅谈GPU虚拟化技术(第二章)GPU虚拟化方案之——GPU直通模式  今天一个小伙伴@我说:“你浅谈一下,没点技术背景的,估计都看不懂…”,醍醐灌顶啊,面向公众的文章不是学术论文,应以普及基本概念为主。
20166 1
|
8月前
|
移动开发 Dart 前端开发
【HarmonyOS 5】鸿蒙跨平台开发方案详解(二)
作为最早实现鸿蒙适配的跨平台框架,Flutter在社区推动下已形成较完整的技术方案。当前鸿蒙版Flutter已发布3.22.0-ohos版本,该版本基于Flutter 3.22.0核心。
669 0
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
|
XML 数据格式 Python
将xml标签转换为txt(voc格式转换为yolo方便进行训练)
该文章提供了一个Python脚本,用于将VOC格式的XML标签文件转换为YOLO训练所需的TXT格式,包括修改数据集类别、输入图像与标注文件夹地址、转换过程和结果展示。
将xml标签转换为txt(voc格式转换为yolo方便进行训练)
|
移动开发 监控 API
WebSocket API 详解与应用指南
WebSocket API 是HTML5的一种技术,它允许服务器与客户端建立持久的全双工连接,改变传统HTTP请求-响应模式,实现双向通信。API包括WebSocket构造函数、连接状态属性(如readyState)、方法(如send和close)及事件(如onopen和onmessage)。它简化了实时Web应用程序的开发,适用于在线聊天、实时数据监控等场景。
908 5
|
Ubuntu Linux 网络安全
ZYNQ - 嵌入式Linux开发 -04- petalinux和Xilinx_SDK2018.3安装(一)
ZYNQ - 嵌入式Linux开发 -04- petalinux和Xilinx_SDK2018.3安装
1091 0
ZYNQ - 嵌入式Linux开发 -04- petalinux和Xilinx_SDK2018.3安装(一)
|
人工智能
2023年8款好用免费可商用字体|标小智龙珠体
为了庆祝新的一年的开始,我筛选整理了一份8款实用且免费商用的中文字体清单。这些字体不仅易于使用,而且风格多样,可以用于logo设计、平面设计、标题设计等等,希望能够帮助到你。
2023年8款好用免费可商用字体|标小智龙珠体
|
图形学
Unity——拖尾特效
Unity——拖尾特效
1134 0
|
测试技术 API 网络架构
如何使用Postman Runner实现自动化测试中的参数自增
Postman Runner 是 Postman 工具中的一个强大功能,它可以用来批量运行 API 测试脚本。通过设置不同的参数组合,我们可以轻松地测试 API 的各种不同情况,并生成测试报告和测试结果。
如何使用Postman Runner实现自动化测试中的参数自增

热门文章

最新文章