通过 Wireshark 抓取串口命令

Wireshark 是一款开源免费的网络协议分析工具,支持跨 Windows、macOS、Linux 等多操作系统,核心功能是实时捕获网络中的数据包,并以可视化界面展示数据传输细节。它不仅能分析以太网、Wi-Fi 等传统网络数据,还可通过扩展组件支持 USB、串口等总线数据抓取。

一、安装 Wireshark

通过 Wireshark 官方下载链接 获取对应系统的安装包。由于抓取 USB 数据还需要 USBPcap,需额外安装 USBPcap 组件。Wireshark 默认不安装 USBPcap,在运行安装包,按向导完成基础配置后,在组件选择界面手动勾选「USBPcap」。其余安装选项可保持默认,按提示接受协议许可,完成安装后重启计算机,确保组件生效。

二、抓取串口数据

2.1 配置 Wireshark 捕获

  • 打开 Wireshark 软件,如下图所示,正确安装 USBPcap 后应当能够找到 USBPcap 的捕获选项,选项数据会由设备的 USB 接口数量而有所不同。为了便于识别串口设备,建议在捕获时移除电脑上多余的 USB 设备,避免冗余设备干扰目标串口的识别。

  • 点击 USBPcap 旁的齿轮图标,可以检查该端口关联的设备。如下图所示,一般而言,串口设备会显示为「USB 串行设备」,也可以尝试插拔串口设备并重新打开该软件界面来确定目标设备。

  • 捕获的配置如上图所示,但暂不要选择「开始」。

2.2 配置上位机软件(串口数据发送端)

  • 启动上位机软件,按实际需求完成串口参数配置(如波特率、数据位、校验位、停止位等)。
  • 建立与目标串口设备的连接,打开串口后,通过测试验证数据收发正常,确保通信链路通畅。

2.3 开始捕获

  • 回到 Wireshark 界面,点击「确定」开始数据捕获。如下图所示,在捕获界面中理应出现大量的数据帧,否则就应当检查设备连接和设备选择是否正确。
  • 在上位机软件中选择发送串口命令,接着在 Wireshark 界面的左上角选择「停止捕获分组」,串口传输的所有数据将被完整捕获并保存。

三、分析串口数据

  • 最后通过对捕获到的数据帧进行分析,就能找到需要的串口命令。Wireshark 捕获的数据帧主要为接收机发出的 NMEA 报文,为避免这些数据的干扰,在上方的「应用显示过滤器」中填入过滤规则 :

    usb.transfer_type=="URB_BULK" && usb.endpoint_address.direction=="out" && usb.src=="host"

    这条规则的含义是

    • usb.transfer_type=="URB_BULK":数据帧类型为 URB_BULK(串口通信常用的批量数据交换格式)
    • usb.endpoint_address.direction=="out":数据帧发送方向为 out(由计算机设备向外部设备)
    • usb.src=="host":数据帧来自于计算机设备
  • 在过滤后的数据帧可以快速定位目标指令。如上图所示,鼠标悬浮至右下侧文本的最后一段数据上,查看高亮标注的数据帧载荷,如示例中发送的串口指令为 hello world!,十六进制格式为 68 65 6c 6c 6f 20 77 6f 72 6c 64 21,在蓝色高亮处被标记出来。
相关推荐
那年窗外下的雪.8 小时前
AIDC 学习日志|第 27 天|EVPN 多归属收敛时间线与 Leaf2 接管验证
网络协议·学习·http·tcpdump
j7~8 小时前
【Linux】三十八.C++ 手写 HTTP 服务器:裸 socket + fork 多进程,从 HTTP 报文解析到浏览器打开网页
linux·网络·网络协议·学习·http·网络编程
小则又沐风a9 小时前
深入理解TCP协议----滑动窗口,流量控制
linux·网络协议·tcp
captain37620 小时前
网络原理(9)-数据链路层
java·网络协议·java-ee
测试狗科研平台1 天前
材料热传导能力表征——热导率计算方法与流程解析
科技·测试工具·材料工程
yi碗汤园1 天前
MQTT消息队列遥测传输协议
网络·网络协议·unity
花间相见1 天前
【后端开发|网络编程】—— 五种实时通信方案全解析:短轮询、长轮询、SSE、MQTT、WebSocket
后端·网络协议
Luminbox紫创测控1 天前
GB/T 34515—2026新规航天热平衡试验:太阳模拟器该怎么选
测试工具·安全性测试·测试标准·航天器热平衡
蒸鱼Yuzheng1 天前
Unity 与 Unreal 测试工具怎么回答:Profiler、日志、自动化与证据链
测试工具·unity·性能分析·游戏测试·unrealengine