LTESniffer:开源的 LTE 流量嗅探工具
文章目录
- LTESniffer:开源的 LTE 流量嗅探工具
- 工作原理
- 安全 API
- 硬件要求
- 实际限制
- 输出格式
LTESniffer:开源的 LTE 流量嗅探工具
做移动安全研究的人,经常遇到一个问题:想抓 LTE 空口数据,现有的开源工具要么只能抓下行,要么解不了协议层的包。韩国 KAIST 团队做的 LTESniffer,把这个缺口补上了。
它能同时抓取 LTE 上行和下行流量,而且能解码 PDCCH、PDSCH、PUSCH 这几个关键物理信道。简单说,别的工具抓到的是半成品,它抓到的能直接用 Wireshark 分析。
工作原理
LTESniffer 的解码流程分两步走。先解 PDCCH 控制信道,拿到所有活跃用户的 DCI(下行控制信息)和 RNTI(无线网络临时标识)。然后用这些信息去解 PDSCH 和 PUSCH,拿到上下行的实际数据。
这套方案基于 FALCON 项目,底层用 srsRAN 库。支持 LTE Advanced 和 LTE Advanced Pro,最高到 256QAM 调制,FDD 模式,最大 20MHz 带宽的基站。
安全 API
LTESniffer 还带了一个安全研究 API,包含三个功能:
- 身份映射(RNTI-TMSI mapping)
- IMSI 采集
- 终端能力画像
这三个功能对应的是学术界之前提出的被动嗅探需求。以前没有开源工具能同时解码 PDSCH 和 PUSCH,所以那些安全研究的验证只能靠闭源设备。LTESniffer 填了这个坑。
硬件要求
这工具不是随便一台电脑就能跑的。实时解码 LTE 流量对 CPU 要求很高,基站活跃用户多的时候更明显。
推荐配置:Intel i7 八核以上、16GB 内存、256GB SSD。
SDR 方面,下行嗅探兼容 srsRAN 支持的设备(USRP、BladeRF 等)。上行嗅探因为要同时监听上下行两个频率,有两种方案:用一台 USRP X310(双 LO),或者用两台 USRP B 系列加 GPSDO 做同步。
实际限制
几个要注意的点。
第一,上行嗅探的有效距离有限。手机是低功率设备,上行信号比下行弱很多,嗅探器得离手机近才行。想扩大范围,得上定向天线或者信号放大器。
第二,LTESniffer 不能解密加密内容。LTE 空口流量大部分是加密的,它能做的是分析未加密的部分,比如 MAC 层和物理层的头信息。广播消息、连接初始阶段的消息是完全可见的。
第三,只支持 Ubuntu 18.04/20.04/22.04。其他系统没测过,可能会出问题。
输出格式
LTESniffer 输出 pcap 文件,直接用 Wireshark 打开。下行是 sniffer_dl_mode.pcap,上行是 sniffer_ul_mode.pcap,API 模式是 api_collector.pcap。上行 pcap 里同时包含上下行消息,用mac-lte.direction == 0过滤只看上行,== 1只看下行。
Star 2185,不算特别高,但在移动安全这个细分领域算是实用工具。如果你在做 LTE 协议分析或者安全研究,值得试试。
特别高,但在移动安全这个细分领域算是实用工具。如果你在做 LTE 协议分析或者安全研究,值得试试。