基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除

最近在做一个设备程序管理工具,目标是脱离原厂软件,直接通过电脑和设备通信,实现设备程序列表读取、程序下载、程序上传和程序删除。

整个过程主要分为两部分:第一部分是使用 Wireshark 抓取原软件和设备之间的数据包,分析通信协议;第二部分是根据分析出来的协议,用 C# WinForms 编写一个独立的小工具。

设备通信使用的是 UDP 协议,端口为 1700。通过抓包可以看到,软件和设备连接后会定期发送心跳包,例如:66 00 00 00 00 00 00 00 00 00

在读取程序目录时,软件会先发送一组初始化和准备命令,然后通过目录分页请求获取设备上的程序列表。程序列表中包含程序名称、修改日期、修改时间、文件大小等信息。

在此基础上,我使用 .NET 开发了一个 工具,主要功能包括:

  1. 输入设备 IP 地址,读取设备程序目录
  2. 显示程序名称、日期、时间、大小等信息
  3. 下载设备上的指定程序到本地电脑
  4. 选择本地程序文件并上传到设备
  5. 删除设备上的指定程序
  6. 支持将程序列表导出为 CSV 文件

这个项目比较适合以下场景:

  1. 需要分析设备私有通信协议
  2. 想通过 Wireshark 学习 UDP 协议抓包
  3. 想用 C# 编写设备调试工具
  4. 想替代原厂软件中的部分基础功能
  5. 需要对设备程序进行读取、备份、上传或删除

通过这次实现可以看到,只要抓包数据足够完整,很多设备软件的基础功能都可以通过协议分析重新实现。Wireshark 负责帮助我们看清通信过程,。

相关推荐
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
wuyk5553 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
QYRdata3 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK3 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang19923 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖3 天前
Netty 核心组件与 Reactor 模型详解
网络·架构
ITxiaobing20233 天前
IP 定位服务选型指南:从准确率到工程落地的技术考察
linux·服务器·网络
wuyk5553 天前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
z落落3 天前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp
云运维笔记3 天前
华为设备IP地址配置全攻略
运维·网络·计算机网络·华为