2. 抓包环境搭建:硬件准备与软件准备
做蜂窝模组抓包分析,说白了就是三件事:把硬件连起来、把软件跑起来、把数据抓下来。很多新手一上来就急着点 Wireshark 开始抓,结果发现啥也抓不到——嗯,我当年也干过这事。后来才明白,环境搭得对不对,直接决定了后面能不能顺利抓到包。
这一章,我就带你从头捋一遍,硬件该准备哪些、软件该装什么,以及每一步有哪些坑可以提前避开。
核心思路:抓包环境的本质,是让模组的 AT 指令交互和网络数据包,都能被 PC 端工具捕获并解析。硬件负责“透传”,软件负责“解析”。
2.1 硬件准备:模组、SIM卡、天线、USB转串口
先说说硬件。你想想看,模组本身是个黑盒子,它跟外界通信就靠几个物理接口。我们要做的,就是把它的串口(UART)接到电脑上,同时保证它能正常上网。
2.1.1 模组选型
我个人习惯用市面上主流的几款:移远 EC20、广和通 L610、中移 M5311 等。这些模组资料多、AT 指令兼容性好,出了问题也好查。
- 4G 模组:EC20、EC25、L610 等,支持 LTE Cat 4 或 Cat 1,适合大部分场景
- NB-IoT 模组:M5311、BC95 等,适合低功耗、小数据量场景
- 5G 模组:RM500Q 等,适合高速率、低延迟场景
我的建议:初学者先用 4G Cat 1 模组,比如移远 EC200U。价格便宜、资料多、抓包也简单。我在项目中遇到过用 NB-IoT 模组抓包,结果因为网络时延太大,抓了半天才抓到一条完整消息——那叫一个煎熬。
2.1.2 SIM 卡
SIM 卡是模组的“身份证”。没有它,模组连不上运营商网络,也就没法抓包。
- 普通 SIM 卡:手机卡就能用,但要注意是否开通了数据业务
- 物联网专用卡:比如中移物联卡、联通物联网卡,资费低、管理方便
- 测试卡:有些模组厂商会提供测试 SIM 卡,内置固定 APN,省去配置麻烦
注意:SIM 卡要插到位,否则模组会报“SIM not inserted”错误。我曾经因为 SIM 卡座接触不良,折腾了半小时才发现是卡没插紧——嗯,这种低级错误,谁还没犯过呢?
2.1.3 天线
天线是模组的“耳朵”。没天线或者天线没接好,信号强度会很低,甚至搜不到网络。
- 主天线:必须接,用于收发数据
- 分集天线:可选,用于提升接收性能
- GNSS 天线:如果模组支持 GPS/北斗,需要单独接
我建议用模组原厂配套的天线,或者参数匹配的第三方天线。别随便拿根电线凑合——信号差到让你怀疑人生。
2.1.4 USB 转串口模块
模组的串口通常是 TTL 电平(3.3V 或 1.8V),电脑的 USB 口是 5V 逻辑电平,不能直连。所以需要一个 USB 转串口模块来做电平转换。
| 芯片型号 | 特点 | 推荐场景 |
|---|---|---|
| CH340 | 便宜、稳定、驱动好装 | 初学者首选 |
| FT232 | 性能好、兼容性强 | 工业级应用 |
| CP2102 | 体积小、功耗低 | 便携式设备 |
| PL2303 | 老牌芯片、兼容性一般 | 不推荐新手用 |
避坑指南:我曾经用过一个劣质的 CH340 模块,结果串口数据经常丢字节,抓出来的包全是乱码。后来换了 FT232,问题立刻解决。所以,别在 USB 转串口上省钱——它直接决定了抓包数据的完整性。
2.2 硬件连接示意图
下面这张图,是我自己画的一个典型连接方式。你可以照着它接线,基本不会出错。
2.3 软件准备:Wireshark、串口助手、AT指令工具
硬件接好了,接下来就是软件。说白了,我们需要三个工具:一个用来抓网络包(Wireshark),一个用来跟模组对话(串口助手),一个用来发 AT 指令(AT 指令工具)。
2.3.1 Wireshark
Wireshark 是抓包分析的核心工具。它能捕获网卡上的所有数据包,并解析成人类能看懂的协议格式。
- 下载地址:wireshark.org(免费开源)
- 安装注意:安装时记得勾选“Install WinPcap”或“Install Npcap”,否则抓不到包
- 版本选择:建议用最新稳定版,老版本可能不支持某些新协议
我的习惯:Wireshark 装好后,我会先打开抓一下本机的网络流量,确认能正常捕获数据包。如果啥都抓不到,八成是 Npcap 没装好——嗯,这坑我踩过两次。
2.3.2 串口助手
串口助手用来跟模组进行 AT 指令交互。你可以通过它发送 AT 命令,查看模组的响应。
| 工具名称 | 平台 | 特点 |
|---|---|---|
| SSCOM | Windows | 轻量、稳定、支持多串口 |
| SecureCRT | Windows / Mac | 功能强大、支持脚本 |
| Putty | Windows / Linux | 免费、简单、够用 |
| screen | Linux / Mac | 命令行工具、适合远程 |
我个人推荐 SSCOM,因为它体积小、打开快,而且支持 HEX 显示——这在抓包时特别有用,能看到原始字节流。
2.3.3 AT 指令工具
AT 指令工具是专门用来发送 AT 命令的。有些串口助手也能发,但专门的工具会更方便,比如支持命令历史、自动补全、批量发送等。
- QCOM:移远官方工具,支持 EC20、EC25 等模组
- Telit AT Command Tool:Telit 模组的专用工具
- 自定义脚本:用 Python 写个简单的串口收发脚本,灵活度最高
注意:AT 指令的格式很严格。比如 AT+CSQ 查询信号强度,必须用大写字母,不能有空格,结尾要加回车换行(\r\n)。我曾经因为少打了个回车,模组半天没反应——后来才发现是格式问题。
2.4 环境验证:先跑通一个 AT 指令
硬件和软件都准备好了,怎么确认环境没问题?很简单,发一条 AT 指令试试。
// 打开串口助手,选择正确的 COM 口和波特率(通常是 115200)
// 发送:AT
// 期望响应:OK
// 发送:AT+CSQ
// 期望响应:+CSQ: 20,99
// 说明:20 表示信号强度(越大越好),99 表示误码率
如果模组返回了 OK,说明硬件连接和串口通信都没问题。如果没反应,检查以下几点:
- 串口号对不对?去设备管理器里看
- 波特率对不对?模组默认通常是 115200 或 9600
- 接线对不对?TX 接 RX,RX 接 TX,GND 接 GND
- 模组上电了没?有些模组需要外部供电
避坑指南:我曾经遇到一个情况,模组能发 AT 指令,但响应总是乱码。后来发现是 USB 转串口的电平不匹配——模组是 1.8V 逻辑电平,而 CH340 默认是 3.3V。换了个支持 1.8V 的 FT232 就好了。所以,接线前先确认模组的串口电平。
2.5 本章小结
这一章我们聊了抓包环境的搭建。硬件方面,你需要模组、SIM 卡、天线和 USB 转串口;软件方面,Wireshark、串口助手和 AT 指令工具缺一不可。最后,用一条 AT 指令验证环境是否正常。