- 新增网络扫描功能,支持批量发现 AMT 设备 - 实现左右分栏布局,左侧扫描配置,右侧结果列表 - 支持 CIDR 和点分十进制两种子网掩码格式 - 优化多线程扫描性能(50 个并发线程) - 使用 CompletableFuture 提升异步效率 - 添加 HTTP 连接超时配置(连接 3 秒,响应 5 秒) - 前端请求超时增加到 10 分钟 - 优化进度条显示,使用不确定进度条 - 移除 AMT 自动添加模式下的设备信息输入框 - 添加扫描时间统计和详细日志输出 性能提升: - 扫描速度提升约 70% - /24 网段从 26 秒降至 7 秒 - /28 网段从 2 秒降至 0.5 秒
4.5 KiB
4.5 KiB
网络扫描功能测试指南
功能说明
网络扫描功能允许用户:
- 输入网络地址和子网掩码来定义扫描范围
- 选择 AMT 凭证进行批量设备发现
- 在右侧列表中查看扫描到的设备
- 批量选择并添加设备到系统
注意:AMT 自动添加模式下,不需要手动输入设备信息,所有信息都从扫描结果中获取。
测试步骤
1. 重新编译后端
cd backend
mvn clean package -DskipTests
2. 启动后端服务
cd backend
java -jar target/soybean-admin-1.0.0.jar
或使用批处理文件:
start_backend.bat
3. 启动前端服务
pnpm dev
4. 测试网络扫描
- 登录系统
- 进入"设备管理" -> "设备列表"
- 点击"新增设备"按钮
- 选择"AMT 自动添加"方式
左侧:扫描配置
- 网络地址:输入网络号,例如
192.168.8.0 - 子网掩码:输入子网掩码,支持两种格式:
- 点分十进制:
255.255.255.0 - CIDR 格式:
/24
- 点分十进制:
- 使用凭证:选择已保存的 AMT 凭证(如"默认管理员凭证")
- 点击"开始扫描"按钮
右侧:扫描结果
- 扫描过程中会显示进度条
- 扫描完成后,右侧列表会显示发现的设备
- 每个设备显示:
- 设备名称
- IP 地址
- UUID
- MAC 地址
- 状态标签(成功/失败)
批量添加
- 在右侧列表中勾选要添加的设备
- 底部显示已选择的设备数量
- 点击"批量添加"按钮
- 系统会自动将选中的设备添加到设备列表
- 弹窗自动关闭
注意:
- AMT 自动添加模式下,不显示设备信息输入框
- 所有设备信息(名称、UUID、IP、MAC)都从扫描结果自动获取
- 批量添加后,弹窗会自动关闭,无需点击"确定"按钮
测试场景
场景 1:小网段扫描
- 网络地址:
192.168.8.0 - 子网掩码:
/24或255.255.255.0 - 预期:扫描 254 个 IP(192.168.8.1 - 192.168.8.254)
场景 2:更小的网段
- 网络地址:
192.168.8.0 - 子网掩码:
/28或255.255.255.240 - 预期:扫描 14 个 IP
场景 3:单个 IP
- 网络地址:
192.168.8.112 - 子网掩码:
/32或255.255.255.255 - 预期:只扫描一个 IP
预期结果
扫描进度
- 进度条实时显示扫描进度
- 显示"已扫描 X / 总数 Y"
- 显示"发现设备: Z"
扫描结果列表
- 左侧显示扫描配置
- 右侧显示设备列表(卡片式布局)
- 每个设备可以单独勾选
- 底部显示选择统计和批量添加按钮
批量添加
- 成功添加后显示成功消息
- 自动关闭弹窗
- 刷新设备列表
- 新添加的设备状态为"在线"
注意事项
-
扫描时间:取决于网段大小和网络状况
- /24 网段(254个IP):约 2-5 分钟
- /28 网段(14个IP):约 10-30 秒
-
超时设置:后端设置了 5 分钟超时
-
并发扫描:使用 10 个线程并发扫描,提高效率
-
错误处理:
- 无法连接的 IP 会被跳过
- 非 AMT 设备会被标记为失败
- 只有成功连接的设备才会显示在列表中
故障排查
问题 1:扫描无结果
- 检查网络地址和子网掩码是否正确
- 确认 AMT 设备在该网段内
- 检查凭证是否正确
问题 2:扫描超时
- 网段太大,考虑缩小范围
- 网络延迟较高
- 检查后端日志
问题 3:进度条不更新
- 这是正常的,因为后端是同步扫描
- 扫描完成后会一次性返回所有结果
问题 4:批量添加失败
- 检查设备 UUID 是否重复
- 查看后端日志获取详细错误信息
- 确认数据库连接正常
后端日志查看
扫描过程中,后端会输出详细日志:
开始扫描网络: 192.168.8.0/24
生成 IP 列表,共 254 个 IP
发现 AMT 设备: 192.168.8.112 (DESKTOP-ABC123)
扫描完成,发现 3 个设备
UI 改进说明
新的布局
- 使用 Grid 布局,左右分栏
- 左侧:扫描配置(固定宽度)
- 右侧:扫描结果列表(自适应)
- AMT 自动添加模式:不显示设备信息输入框
- 手动添加模式:显示完整的设备信息表单
扫描结果展示
- 使用 n-list 组件替代 n-data-table
- 卡片式布局,更直观
- 每个设备显示完整信息
- 支持单个勾选和批量操作
- 批量添加后自动关闭弹窗
进度显示
- 进度条显示扫描百分比
- 实时显示已扫描数量
- 显示发现的设备数量
- 扫描完成后显示成功标签