goncalocabral-hub/network-device-scanner-final
GitHub: goncalocabral-hub/network-device-scanner-final
一款多协议网络设备扫描与资产管理桌面工具,帮助组织在复杂网络环境中发现设备、追踪变更并检测未经授权的接入资产。
Stars: 0 | Forks: 0
使用 C# WPF (.NET) 开发的桌面应用程序,用于在多个环境中进行网络发现、监控、资产盘点和 Shadow IT 检测。
该平台支持多协议扫描、基于工作空间的资产管理、基线比较、历史扫描追踪以及网络设备的实时监控。
🏗️ 架构

📌 描述
现代网络环境通常包含来自不同供应商、协议和技术的设备。跟踪所有已连接的资产并识别未经授权的设备可能是一项挑战。
Network Device Scanner 提供了一个集中式的解决方案,用于:
多协议设备发现
资产库存管理
历史扫描存储
基于工作空间的环境隔离
基线生成与比较
Shadow IT 检测
实时网络监控
设备交互与诊断
🎯 问题
组织经常面临以下困难:
发现网络内的所有活动设备
管理多个客户或公司环境
随着时间的推移跟踪网络变化
检测未经授权的设备 (Shadow IT)
维护准确的网络资产清单
将当前网络状态与之前的扫描结果进行比较
💡 解决方案
该应用程序提供:
多协议网络发现
用于多环境的工作空间管理
持久化的历史扫描存储
统一的设备存储库
基线生成与比较
自动 Shadow IT 检测
设备交互工具
数据导出功能
实时用户通知
🏛️ 系统架构
🖥️ WPF 用户界面
表示层采用 Master-Detail 方法:
设备列表 (DataGrid)
设备详细信息面板
用户操作和控制
实时 toast 通知
⚙️ 核心逻辑层
负责:
协调扫描
管理工作流
处理发现的数据
维护应用程序状态
🔍 设备发现引擎
扫描引擎负责协调多个发现模块:
支持的协议
低功耗蓝牙 (BLE)
Wi-Fi 发现
局域网发现 (LAN)
BACnet/IP
Modbus TCP
ONVIF
每个扫描器独立运行,并将发现的资产汇集到中央存储库中。
📦 设备存储库
作为集中式存储层,负责:
聚合发现的设备
标准化设备信息
维护统一的清单视图
为 UI 和分析模块提供数据
📂 工作空间管理
应用程序支持多个工作空间,允许建立独立的监控环境。
功能
创建工作空间
选择活动工作空间
删除工作空间
每个环境拥有独立的清单
独立的扫描历史
示例
工作空间 1 → A 公司
工作空间 2 → B 公司
工作空间 3 → 测试实验室
这使得通过单个应用程序即可实现多环境的资产管理。
🕒 历史扫描存储
每个工作空间都维护着持久化的扫描历史记录。
优势
历史设备追踪
环境演变监控
审计与库存支持
在会话之间保留上下文
📋 基线管理器
创建并存储参考网络状态。
功能
初始基线创建
基线更新
网络状态保留
与未来的扫描进行比较
🚨 Shadow IT 检测
将当前扫描结果与存储的基线进行比较。
检测内容
新设备
未知设备
未经授权的资产
网络变化
这样可以快速识别进入网络的潜在的、未经管理的设备。
📡 设备操作
与已发现的资产进行直接交互:
可用操作
Ping 设备
在浏览器中打开设备 IP
这对于验证、故障排除和快速访问非常有用。
📤 导出模块
支持导出清单信息。
格式
CSV
TXT
适用于报告和文档记录目的。
🔔 通知系统
非阻塞的 toast 通知可提供即时反馈。
通知类型
成功
警告
错误
信息事件
⚙️ 使用的技术
C#
WPF (.NET)
SQLite
TCP/IP 网络
低功耗蓝牙 (BLE)
BACnet/IP
Modbus TCP
ONVIF
Async/Await 编程
🚀 功能
🔍 设备发现
BLE 扫描
Wi-Fi 扫描
局域网扫描
BACnet/IP 发现
Modbus TCP 发现
ONVIF 发现
📂 工作空间管理
多环境
独立清单
工作空间持久化
历史上下文隔离
🕒 历史扫描追踪
持久化扫描存储
历史清单比较
环境演变监控
🚨 Shadow IT 检测
基线生成
网络比较
未经授权的设备检测
📡 设备交互
Ping 设备
打开设备管理界面
📊 导出功能
CSV 导出
TXT 导出
🖥️ 用户体验
Master-Detail 界面
DataGrid 可视化
详细的资产面板
Toast 通知
响应迅速的异步操作
🧠 技术决策
异步架构
使用 async/await 实现:
防止 UI 阻塞
提高响应速度
支持并发的网络操作
模块化扫描器设计
每个协议扫描器都是独立实现的。
优势:
可扩展性
可维护性
易于集成新协议
基于工作空间的数据隔离
允许在保持集中式应用程序管理的同时隔离各个环境。
基线比较策略
提供对以下内容的高效识别:
新资产
丢失的设备
网络变化
Master-Detail 模式
改善:
数据可视化
导航体验
用户生产力
⚡ 性能
完全异步的操作
增量扫描处理
非阻塞 UI
高效的设备聚合
使用 SQLite 进行持久化本地存储
## 👨💻 作者 **Gonçal Cabral** *软件开发、网络与网络安全*
[LinkedIn](https://linkedin.com/in/gonçalo-cabral-016498304) |
[作品集](https://goncalocabral-hub.github.io/goncalocabral.github.io/)
标签:C# WPF, Maven构建, 多人体追踪, 影子IT检测, 网络发现, 资产盘点, 运维工具