开源一款轻量级跨网段 IPC 设备发现与网络配置工具

📦 开源项目地址:https://gitee.com/lv-shuliang/ipc-net-discovery

近年来,随着嵌入式设备、IPC(工业电脑)等在智能安防、自动化系统中的广泛部署,如何快速发现网络中的设备并统一管理,成为运维与开发中非常常见的场景。特别是在多网段、多网卡环境下,传统基于单播 IP 扫描的方法往往不够灵活。

为此,我们推出了 ipc-net-discovery ------一套轻量级、基于 UDP 广播的 IPC 设备发现与网络配置解决方案,适用于 RK3588 / RK1126 等嵌入式 Linux 平台,以及 Windows 端工具联动使用。


🎯 项目定位

ipc-net-discovery 是一款专注于 局域网设备发现 + 网络参数配置 的跨平台工具集,核心目标是:

✅ 一键发现同一局域网(包括不同网段/多网卡)下的 IPC 设备

✅ 支持设备网络参数(IP/掩码/网关/DNS/DHCP)在线修改

✅ 使用简单、易集成、协议轻量(基于 UDP + JSON)

✅ 适配嵌入式设备到 Windows 平台全覆盖


🧩 组件体系

该项目由两个主要组件构成:

组件 描述 平台
ipc_net_tool 图形化发现 & 配置工具 Windows(Qt)
ipc_netd 设备端守护进程,响应发现 & 应用网络配置 Linux(嵌入式)

🤝 工作原理概览

ipc-net-discovery 核心基于 UDP 广播 + JSON 协议 实现设备发现与网络配置。

整个流程主要分为两段:

🔹 发现阶段(DISCOVER / DISCOVER_ACK)

PC 端向局域网广播 DISCOVER 请求;设备端监听后回应 DISCOVER_ACK,包含设备的 IP、MAC、SN、网络信息等。

🔹 配置阶段(SET_NET / SET_NET_ACK)

PC 端在发现设备后向其发送网络配置请求;设备端应用配置并返回结果 ACK。

下图是协议交互简要时序:
ipc_netd ipc_net_tool ipc_netd ipc_net_tool DISCOVER (UDP 广播) DISCOVER_ACK (广播 37021) SET_NET (单播) SET_NET_ACK (广播 37021)

📌 协议使用固定端口:

  • 服务端(ipc_netd)监听:37020
  • 客户端接收 ACK:37021

🚀 功能亮点

🕵️‍♂️ ◼ 一键智能发现设备

  • 自动向本机所有网卡所在网段发送发现广播
  • 支持跨网段发现:PC 多网卡时可覆盖不同网段
  • 设备支持广播 ACK,避免三层路由依赖
  • 多台设备同屏展示,支持 MAC + 接口分行显示

🔧 ◼ 网络参数配置能力

✔ 支持静态 IP、子网掩码和默认网关设置

✔ 支持切换设备 DHCP 模式

✔ 操作成功后设备自动重启并显示新网络状态

操作非常简单:

打开工具 → 点击 "搜索设备" → 选中设备行 → 填写网络参数 → 点击 "修改网络"


🪛 典型使用场景

📍 现场网络调试

  • 新设备出厂后尚未配置 IP
  • 只需将设备连入交换机,搜索即可看到

📍 跨网段多网卡环境

  • PC 有多个网卡
  • 可一次性发现多个网络段内设备

📍 无人值守环境自动配置

  • 在自动化生产线上批量配置 IPC 网络参数

📍 嵌入式系统集成

  • 可作为 SDK 嵌入到更大系统中(如厂商定制管理平台)

🧠 工程实现特色

🔹 轻量 & 可嵌入

项目使用 UDP + JSON 协议,自定义字段灵活:

json 复制代码
{
    "magic": "IPC_NET_TOOL_V1",
    "cmd": "DISCOVER",
    ...
}

消息格式清晰,便于适配与扩展,也可与现有设备兼容。


🔹 多网卡 & 跨网段友好

不同于简单单播 IP 扫描 ------ ipc-net-discovery 会主动向本机所有 IPv4 网卡发送广播,并支持设备端对局域网广播地址发送 ACK。有效覆盖:

✅ 多网卡环境

✅ 不同子网但属于同二层环境(无路由)

✅ 现场调试网络复杂场景

这部分设计灵感来源于常见服务发现协议,如 SSDP/UPnP,但更轻量、专注 IPC 场景。([维基百科][1])


📂 代码仓库结构

复制代码
ipc-net-discovery/
├── ipc_net_tool/      # Windows 端 Qt 工具
├── ipc_netd/          # Linux 守护进程
├── docs/screenshots/
├── CHANGELOG.md
├── CONTRIBUTING.md
└── README.md

🛠 快速开始

🪟 Windows 客户端

  1. 安装 Qt5/Qt6 开发环境
  2. 打开 ipc_net_tool 用 QtCreator 或 CMake 编译(MinGW 或 MSVC)
  3. 运行工具,点击 "搜索设备"

🐧 Linux 设备端

  1. 在设备上编译 ipc_netd(CMake + C++17)
  2. 运行守护进程:./ipc_netd(可传参指定端口)
  3. 保持设备与 PC 在同一局域网二层内

📣 发布建议(关键词用于 SEO)

✔ IPC 设备发现

✔ 网络一键配置

✔ 跨网段搜索工具

✔ UDP 广播 + JSON 协议

✔ 多网卡自动覆盖

✔ 嵌入式与 Windows 联动


📝 总结

ipc-net-discovery 是一个小巧、实用、适配性强的发现与配置工具,特别适合 IPC / 嵌入式设备的现场调试、批量配置和自动化运维场景。协议清晰、跨平台易用、无需路由即可跨网段发现,是实际工程中非常靠谱的解决方案。

📦 开源地址: https://gitee.com/lv-shuliang/ipc-net-discovery

相关推荐
z2014z4 分钟前
Deflate 算法详解
网络·算法
非凡ghost21 分钟前
支持1000+格式:Wondershare Recoverit万能数据恢复
网络·windows·学习·软件需求·teamviewer
m0_7381207222 分钟前
渗透测试——pyexpvm靶机详细提权过程(MSF框架,Hydra数据库爆破,SUDO提权)
服务器·网络·数据库·python·sql·web安全
翱翔的苍鹰22 分钟前
LangChain是一个主流的大语言模型(LLM)应用开发框架,核心功能是连接大模型与外部资源/工具。
网络·人工智能·python·深度学习·语言模型
草根站起来33 分钟前
OCSP中国泛域名SSL证书申请
网络·网络协议·ssl
昵称只能一个月修改一次。。。1 小时前
并发服务器、多路IO复用
java·服务器·网络
正牌强哥1 小时前
别再用天价软件做量化研究了:我开源了一个全流程因子分析平台FactorHub
学习·开源·量化交易
机器小乙2 小时前
【开源】2 分钟在 Windows 上搭建 AI Agent 运行环境:MachineY Engine 使用指南
人工智能·windows·ai·开源·openclaw
大雷神2 小时前
HarmonyOS APP<玩转React>开源教程八:主题系统实现
react.js·开源·harmonyos
橘子132 小时前
DNS域名系统
服务器·网络·网络协议