Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
QCSuper — QCSuper 是一款与基于高通(Qualcomm)芯片的手机和调制解调器通信的工具,除其他功能外,它还能捕获原始的 2G/3G/4G 无线电帧。 | Kitploit
工具/GitHubGitHub/p1sec/qcsuper
嵌入式系统安全数据包嗅探与分析内存取证网络取证移动取证无线安全移动安全
GitHubp1sec/qcsuper

QCSuper

QCSuper 是一款与基于高通(Qualcomm)芯片的手机和调制解调器通信的工具,除其他功能外,它还能捕获原始的 2G/3G/4G 无线电帧。

查看仓库
1.6k279334天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

QCSuper

QCSuper 是一款与基于 Qualcomm 的手机和调制解调器通信的工具,能够捕获原始 2G/3G/4G(部分型号支持 5G)无线电帧等数据。

它将允许你生成 PCAP 捕获文件,可通过已 root 的 Android 手机、USB 网卡或现有其他格式的捕获文件来实现。

使用 QCSuper 和 Wireshark 的截图

在安装之后,你可以将已 root 的手机通过 USB 连接,配合兼容设备使用时,操作简单到只需:```bash qcsuper --adb --wireshark-live

或者,如果你已手动启用在手机上暴露 Diag 端口(具体步骤可能因手机调制解调器和制造商而异,请参阅下文说明),或者如果你插入了移动宽带上网卡:```bash
qcsuper --usb-modem auto --wireshark-live

它使用 Qualcomm Diag 协议(也称为 QCDM 或 DM,即诊断监视器)来与手机基带通信。

你愿意报告你的设备是否正常工作吗?你可以打开一个 Github issue。

目录

  • 安装
    • Linux 安装(PIP)
    • Linux 安装(UV)
    • Windows 安装
  • 支持的协议
  • 使用须知

附录:

  • 将 QCSuper 与 USB 调制解调器配合使用
  • 支持的设备
  • 使用 Diag 协议的相关工具

博客文章/演示: 介绍 QCSuper:一款用于在基于 Qualcomm 的手机上捕获 2G/3G/4G 空中流量的工具

更多文档:

  • Diag 协议
  • QCSuper 架构

安装

QCSuper 近期在 Ubuntu LTS 22.04+ 上进行测试和开发,也已在 Windows 11 上使用。它依赖于一些 Python 模块。建议使用 Linux 以获得更好的兼容性。

要使用它,你的手机必须已 root 或通过 USB 暴露一个 diag 服务端口。为了检查与手机的兼容性,请在 GSMArena 等网站上查找手机型号,并检查其是否配备 Qualcomm 处理器。

要打开 QCSuper 生成的 PCAP 文件,你可以使用任何 Wireshark 2.x - 4.x 版本查看 2G/3G 帧,但查看 4G 帧至少需要 Wireshark 2.5.x(若要查看从 4G 帧中解密的单个 NAS 消息,则需要 2.6.x)。Ubuntu 目前为所有版本提供了足够新的构建版本。

5G 帧的解码已在 Wireshark 3.6.x 及以上版本 下测试,并将通过自动安装 Wireshark Lua 插件来完成(在 Windows 下位于 %APPDATA%\Wireshark\plugins,在 Linux 和 macOS 下位于 ~/.local/lib/wireshark/plugins)。如果你希望避免安装,可以通过设置 DONT_INSTALL_WIRESHARK_PLUGIN=1 环境变量来跳过。

Linux 安装(PIP)

要以系统级方式从 PyPI 安装 QCSuper 的稳定版本,你可以运行以下命令:```bash

Install dependencies

sudo apt install python3-pip wireshark

Install stable QCSuper system-wide

sudo pip3 install --upgrade qcsuper --break-system-packages

然后,你只需在终端中输入 `qcsuper` 即可运行 QCSuper。

为了将开发版安装到特定文件夹中,请打开终端并输入以下内容:```bash
# Download QCSuper
git clone https://github.com/P1sec/qcsuper
cd qcsuper

# Install dependencies
sudo apt install python3-pip wireshark
sudo pip3 install --upgrade . --break-system-packages

然后,从 qcsuper/ 目录运行 QCSuper,在终端中使用 ./qcsuper.py 命令。

Linux 安装(UV)

在 Linux 上,你可以使用 uv 包管理器来安装 QCSuper,它是 PIP 的现代替代方案。

首先,在终端中运行以下命令之一来安装 uv:```bash sudo snap install --classic astral-uv # On Ubuntu sudo dnf install -y uv # On Fedora sudo pacman -S uv # On Archlinux, Manjaro curl -LsSf https://astral.sh/uv/install.sh | sh # On Debian and others

然后,运行以下命令来安装最新的稳定版本:```bash
uv tool install qcsuper

或者,您可以使用以下命令安装最新的开发版本:```bash uv tool install git+https://github.com/P1sec/qcsuper

然后你只需在终端中输入这个:```bash
qcsuper

但是,如果您需要以 root 身份运行 qcsuper(例如因为您正在从调制解调器设备读取数据),则在使用 sudo 运行 uv 时,qcsuper 可能不在 $PATH 中,因此可能需要执行以下操作:```bash sudo env "PATH=$PATH" qcsuper

如果你希望参与该工具的开发,可以使用以下命令下载源代码,然后在 `~/.local/bin` 中创建指向源代码目录的 QCSuper 符号链接:```bash
git clone https://github.com/P1sec/qcsuper
cd qcsuper
uv sync # Create .venv in the current directory
uv tool install -e . # Create symlinks into ~/.local/bin

Windows 安装

QCSuper 可以在 Windows 上运行,但您应事先确保 Google 的 ADB 提示符能在您的机器上与您的设备正常配合运行,并且如果您的设备需要直接通过伪串行 USB 连接到 Diag 端口,您还应该手动创建 libusb-win32 过滤器(通过安装后可在“开始”菜单中访问的实用程序)。

(请注意,如果您切换设备模式,相关的 USB PID/VID 可能会发生变化,可能需要重新在 libusb-win32 过滤器创建实用程序中关联驱动——和/或视情况在 Windows 外围设备管理器中进行关联。)

在 Windows 上,您可能(除了 Google 的 ADB 内核驱动程序之外)需要根据您的手机型号下载并安装手机的 USB 驱动程序(这可能包括通用的 Qualcomm USB 驱动程序)。请在 Google 上搜索您的手机型号 +“USB driver”或“ADB driver”以获取说明。

然后,您需要确保可以使用 adb 访问您的设备。您可以在此处找到有关如何下载和设置 adb 的教程。adb.exe shell(或您使用的任何可执行文件路径,QCSuper 的 qcsuper/inputs/external/adb 文件夹中提供了一份 ADB 可执行文件的副本)命令必须显示一个提示符才能继续。

然后,请按顺序执行以下链接(该工具近期已在 Windows 11 上测试过——不保证能在 Windows 7 上运行):

  • 安装 Python 3.12(Windows 7 版本:Python 3.7)或更新版本(请务必勾选相关选项,将其加入 PATH、为所有用户安装并安装 pip)
  • 安装 Wireshark 4.2(Windows 7 版本:安装 Wireshark 3.6)或更新版本
  • 安装 libusb-win32 1.2.7.3(Windows 7 版本:libusb-win32 1.2.3.7)或更新版本
  • 重新启动命令提示符/终端,以确保 %PATH% 系统变量已更新。
  • 下载并解压 QCSuper

要安装所需的 Python 模块,请打开命令提示符并输入:```bash pip3 install --upgrade pyserial pyusb crcmod pycrate https://github.com/pyocd/libusb-package/archive/master.zip

仍在命令提示符中,使用 `cd` 命令进入包含 QCSuper 的目录。然后您可以执行命令(如果您从在线安装程序安装了 Python 3,则命令应以 `py qcsuper.py` 或 `py3 qcsuper.py` 开头;如果您从 Microsoft Store 安装,则应为 `python3.exe .\qcsuper.py`)。

如上所述,您可能需要通过“开始”菜单中提供的实用程序添加 `libusb-win32` 过滤器,以确保在模式切换后的设备上,QCSuper 能够看到对应 Diag 端口的接口(如果 ADB 驱动正常工作且设备已正确 root,则首次使用 `--adb` 标志运行工具的尝试失败应会触发模式切换)。

<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/48811/e7aab43a3643cd941857febb8fcb8e2d7bf8c3638629a4e5591dc689afa48c07.png" alt="为小米手机的 Diag 端口添加 libusb-win32 过滤器的截图">
</p>

## 支持的协议

QCSuper 支持捕获少量移动无线协议。这些协议被放置在 [GSMTAP 头部](http://osmocom.org/projects/baseband/wiki/GSMTAP) 之后,该头部是一个标准头部(封装在 UDP/IP 中),用于标识协议;GSMTAP 数据包被放入 [PCAP 文件](https://wiki.wireshark.org/Development/LibpcapFileFormat) 中,可通过 Wireshark 进行完整分析。

2G/3G/4G 协议可划分为几个“层”:第 1 层涉及数字无线电调制和多路复用,第 2 层处理诸如分段和确认之类的事务,第 3 层是实际的信令或用户数据。

QCSuper 通常允许您在层 3 上捕获,因为这是使用 Wireshark 分析最实用的层次,也是 Diag 协议原生提供的内容(并且这里有一些有趣的信息)。

* 2G (GSM):第 3 层及以上(RR/...)
* 2.5G(GPRS 和 EDGE):第 2 层及以上(MAC-RLC/...),用于数据确认
* 3G(UMTS):第 3 层及以上(RRC/...)
  * 此外,它还支持在单独的 GSMTAP 帧中重组 SIB(系统信息块,即向所有用户广播的数据),因为 Wireshark 目前还无法自行完成此操作:标志 `--reassemble-sibs`
* 4G(LTE):第 3 层及以上(RRC/...)
  * 此外,它还支持将解密的 NAS 消息(这些消息以加密形式嵌入在 RRC 数据包中)放入附加帧中:标志 `--decrypt-nas`

默认情况下,不包含设备发送的 IP 流量,您只看到信令帧。您可以使用 `--include-ip-traffic` 选项包含您生成的 IP 流量(IP 在 2G/3G/4G 中基本上就是您的数据流量的第 3 层,不同之处在于其头部可能会被压缩(ROHC),并且可能包含一个很小的 PPP 头部)。

您发送的数据流量使用与信令流量不同的信道;该信道通过信令流量进行建立。因此,QCSuper 应向您显示与该信道如何建立相关的所有细节。

## 使用须知

要使用 QCSuper,您需要指定一个输入源(例如:`--adb`(Android 手机)、`--usb-modem`)以及一个或多个模块(`--wireshark-live` 用于打开 Wireshark,`--pcap-dump` 用于将流量写入 PCAP 文件,`--info` 用于获取有关设备的通用信息……)。

您可以输入的一些命令如下:```bash
# Open Wireshark directly, using a rooted Android phone as an input,
# for compatible phones:
$ qcsuper --adb --wireshark-live

# ^ this command is equivalent to (prefer this when running as root):
$ qcsuper --adb --pcap-dump - | wireshark -k -i -

# Same, but dump to a PCAP file instead of opening Wireshark directly
$ qcsuper --adb --pcap-dump /tmp/my_pcap.pcap

或者,如果它不够简单而无法使用:```bash

Same, but using an USB modem/phone exposing a Diag serial port

directly over USB, in the case where the "--adb" mode does not

work directly:

下载工具