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 致力于为工业网络运维提供一站式解决方案,让设备管理变得更加高效、便捷。

相关推荐
一只鹿鹿鹿22 分钟前
智算算力、AI-芯片与产品解析(PPT文件)
大数据·运维·网络·人工智能·物联网·1024程序员节
开源必胜26 分钟前
Socket、异步非阻塞 I/O 与 NGINX、Netty 模型
网络·tcp/ip·nginx
沫璃染墨38 分钟前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
蓝祁子yoky1 小时前
Qt学习日记 Day13:网络编程(一)-TCP基础与Socket实战
网络·qt·学习
箓维2 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
揽星河..2 小时前
【C语言】分支和循环
c语言·c++·算法
小羊没烦恼!2 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
小Ti客栈3 小时前
Netty 零拷贝原理与实战
运维·服务器·网络
国科安芯3 小时前
商业光学遥感载荷焦平面供电链的低噪声稳压器研究综述——以国科安芯ASP7A84AS型3A低压差线性稳压器为器件级参照
大数据·网络·嵌入式硬件·平面·卫星·商业航天·抗辐射
静以修身zzz3 小时前
计算云服务
运维·网络·云计算