aiDgeScanner 工业设备网络扫描与管理工具

前言

在工业网络环境中,设备的管理与发现一直是运维人员面临的挑战。传统的设备扫描工具往往功能单一、界面陈旧、操作复杂。今天,我正式宣布 aiDgeScanner 项目开源,这是一款基于现代技术栈开发的工业设备网络扫描与管理工具。


项目概述

aiDgeScanner 是一款专为工业网络环境设计的设备发现与管理工具,具有以下核心能力:

  • 🎯 智能设备发现:支持 LLDP 协议和 UDP Discovery 协议,自动发现网络中的工业设备
  • 🔒 远程管理:内置 SSH 终端和 Web 浏览器,无需额外工具即可管理设备
  • 🎨 现代化界面:基于 Vue 3 + Electron 构建,提供流畅的用户体验
  • 高性能底层:C++ NAPI 插件实现高效的数据包捕获与解析

在这里插入图片描述


核心技术架构

aiDgeScanner 采用分层架构设计,兼顾开发效率和运行性能:

系统层

libpcap/Npcap

C++ NAPI 插件

LLDP解析器

Packet捕获

设备发现

主进程 (Node.js)

窗口管理

SSH2连接

设备扫描器

主题系统

Electron 进程通信

IPC + Context Bridge

UI 层 (Vue 3)

设备列表

系统日志

SSH终端

嵌入式浏览器

技术栈详解

层级 技术选型 说明
桌面框架 Electron 39 成熟的跨平台桌面应用框架
前端框架 Vue 3.5 组件化、响应式设计
构建工具 Vite 5 快速的开发服务器和构建
终端组件 xterm.js 专业级终端模拟器
SSH 客户端 ssh2 完整的 SSH2 协议实现
网络抓包 libpcap/Npcap 高效的数据包捕获

功能亮点

1. 多协议设备发现

aiDgeScanner 支持两种设备发现协议:

LLDP(Link Layer Discovery Protocol)

  • 工业交换机标准协议
  • 获取设备 MAC 地址、端口信息、系统名称等
  • 解析 Chassis ID、Port ID、Management Address 等 TLV

UDP Discovery

  • 自定义 UDP 发现机制
  • 灵活的端口配置(默认 6000)
  • 支持设备主动上报
目标设备 工业网络 aiDgeScanner 目标设备 工业网络 aiDgeScanner 监听 LLDP/UDP 报文 发送 LLDP/UDP Discovery 报文 转发报文 解析报文提取设备信息 更新设备列表

2. 内置 SSH 终端

告别繁琐的第三方终端工具,aiDgeScanner 内置完整的 SSH 客户端:

  • 独立标签页:每个 SSH 会话独立标签页管理
  • 现代化终端:基于 xterm.js 的专业终端体验
  • 登录对话框:直观的凭据输入界面
  • 会话复用:支持多设备同时管理

在这里插入图片描述
在这里插入图片描述

3. 嵌入式 Web 浏览器

在这里插入图片描述

设备配置页面直接嵌入应用:

  • 多标签页管理
  • 阻止弹出窗口
  • 跨域访问支持
  • 与应用界面无缝融合

4. 灵活的配置选项

通过设置对话框可以:

  • 选择监听网卡
  • 配置 UDP 端口
  • 切换 LLDP/UDP/混合监听模式
  • 调整查询间隔

界面主题

aiDgeScanner 提供五种精心设计的主题:

主题 风格 预览
🌸 金桂飘香 温暖金色系
🎋 翠竹清幽 自然绿色系
🌙 朗月皎洁 清爽蓝色系
🌊 碧海晴空 深海蓝色系 -
🪙 流银典雅 低调银色系

快速上手

环境准备

# Node.js >= 18.x
# npm >= 9.x 或 yarn
# Python 3.x (用于 C++ 插件构建)

安装与运行

# 克隆项目
git clone https://gitee.com/galaxy_0/ai-dge-scanner.git
cd aiDgeScanner

# 安装依赖
npm install --registry=https://registry.npmmirror.com

# 构建 C++ 插件
npm run build-plugin

# 启动应用
npm start

打包发布

# 构建前端
npm run build

# 打包 Windows 安装包
npm run electron:build:win

# 输出目录: release/

项目结构

aiDgeScanner

src/

native/

device/

dist/

release/

components/

SSHTerminal.vue

SettingsModal.vue

TabbedBrowser.vue

TelTerminal.vue

Terminal.vue

theme/

i18n/

App.vue

src/

scanner.cc

lldp_parser.cc

packet_parser.cc

device.cc

interface.cc

build/

src/

lldp/

protocol/

core/

capture/


开源许可

aiDgeScanner 采用 GNU General Public License v2.0 (GPL-2.0) 开源,您可以:

  • ✅ 自由使用、修改、分发本项目
  • ✅ 商业使用
  • ✅ 私有化部署
  • ❌ 但不提供任何担保
  • ⚠️ 如果修改源码,必须开源(GPL传染性)

致谢

感谢以下开源项目:

  • Electron - 跨平台桌面应用框架
  • Vue.js - 渐进式 JavaScript 框架
  • xterm.js - 终端模拟器
  • ssh2 - SSH2 客户端库
  • Npcap - Windows 网络抓包库

获取项目

  • 码云(国内加速): https://gitee.com/galaxy_0/ai-dge-scanner

欢迎 Star、Fork、Issue 和 Pull Request!


“最好的工具是那些让复杂任务变得简单,同时又不失去灵活性的工具。”

aiDgeScanner 致力于为工业网络运维提供一站式解决方案,让设备管理变得更加高效、便捷。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐