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

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 提供五种精心设计的主题:

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

快速上手

环境准备

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

安装与运行

bash 复制代码
# 克隆项目
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

打包发布

bash 复制代码
# 构建前端
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 网络抓包库

获取项目

欢迎 Star、Fork、Issue 和 Pull Request!


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

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

相关推荐
叼烟扛炮1 小时前
C++ 知识点17 友元
开发语言·c++·算法·友员
CableTech_SQH1 小时前
F5G 全光网,赋能智慧校园数字化建设
大数据·网络·5g·运维开发·信息与通信
计算机安禾1 小时前
【c++面向对象编程】第2篇:类与对象(一):定义第一个类——成员变量与成员函数
开发语言·c++
richard_yuu1 小时前
数据结构|二叉树高阶进阶-经典算法
数据结构·c++·算法
兩尛2 小时前
c++知识点5
开发语言·c++
hellojackjiang20112 小时前
socket长连接在手游场景下的技术实践
网络·网络协议·tcp/ip·架构·网络编程
澈2072 小时前
C++内存管理:new/delete与内存泄漏实战
开发语言·c++·内存分区
星星码️2 小时前
LeetCode刷题简单篇之反转字母
c++·算法·leetcode
精益数智小屋2 小时前
设备维护方案核心功能拆解:一套好的设备维护方案如何解决设备突发故障
大数据·运维·网络·数据库·人工智能·面试·自动化