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

相关推荐
AI备忘录1 分钟前
(十九)华为华三锐捷迈普思科 交换机链路聚合配置命令(LACP/静态聚合五厂商对照)
运维·服务器·网络·网络协议·tcp/ip·华为
raindayinrain7 分钟前
理解网络--Tcp性能优化
网络·tcp/ip·性能优化
啊阿狸不会拉杆20 分钟前
《计算机网络-自顶向下方法》4.4 泛化转发和SDN 读书笔记
网络·计算机网络·智能路由器
yonlingxu35 分钟前
创客匠人深度陪跑案例:盘活存量 IP,解锁婚恋知识赛道第二增长曲线
网络·网络协议·tcp/ip
Java小白笔记1 小时前
Java 实现 ZIP 压缩包生成方案
java·开发语言·网络·7-zip
anxiao_m1 小时前
数据安全合规时代,企业跨网文件传输该如何落地
网络
库玛西1 小时前
深入浅出Linux select网络模型:从底层位图原理到C++面向对象高级封装
linux·服务器·网络·c++·ubuntu
实心儿儿2 小时前
Linux —— epoll(1)
linux·网络
Soari2 小时前
TSN网络之工业以太网协议测试
网络
s_w.h2 小时前
【 计网 】序列化与反序列化
linux·服务器·网络·算法·bash