基于 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 负责帮助我们看清通信过程,。

相关推荐
信也科技布道师2 小时前
从Istio 503 NC 错误深入理解 Mesh 路由全链路原理
java·服务器·网络
程序员龙叔2 小时前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH2 小时前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
A.零点3 小时前
【2个月 C 语言从入门到精通:零基础系统教程】第十二讲:深入了解指针(五)
c语言·开发语言·网络·笔记·visual studio
志栋智能3 小时前
从固定周期到动态触发:超自动化巡检的智能调度
运维·网络·自动化
小陈phd4 小时前
LCEL(LangChain Expression Language)语法全解
服务器·网络·langchain
DreamLife☼4 小时前
OpenBCI-可穿戴脑电设备设计与优化
网络·开源硬件·脑机接口·cca·ssvep·openbci·视觉刺激
酣大智4 小时前
RIP路由协议
网络·路由器·路由·rip
rcms152702692184 小时前
ADAS STB282 工业专用总线板卡
网络