# 网络扫描功能测试指南 ## 功能说明 网络扫描功能允许用户: 1. 输入网络地址和子网掩码来定义扫描范围 2. 选择 AMT 凭证进行批量设备发现 3. 在右侧列表中查看扫描到的设备 4. 批量选择并添加设备到系统 **注意**:AMT 自动添加模式下,不需要手动输入设备信息,所有信息都从扫描结果中获取。 ## 测试步骤 ### 1. 重新编译后端 ```bash cd backend mvn clean package -DskipTests ``` ### 2. 启动后端服务 ```bash cd backend java -jar target/soybean-admin-1.0.0.jar ``` 或使用批处理文件: ```bash start_backend.bat ``` ### 3. 启动前端服务 ```bash pnpm dev ``` ### 4. 测试网络扫描 1. 登录系统 2. 进入"设备管理" -> "设备列表" 3. 点击"新增设备"按钮 4. 选择"AMT 自动添加"方式 #### 左侧:扫描配置 - **网络地址**:输入网络号,例如 `192.168.8.0` - **子网掩码**:输入子网掩码,支持两种格式: - 点分十进制:`255.255.255.0` - CIDR 格式:`/24` - **使用凭证**:选择已保存的 AMT 凭证(如"默认管理员凭证") - 点击"开始扫描"按钮 #### 右侧:扫描结果 - 扫描过程中会显示进度条 - 扫描完成后,右侧列表会显示发现的设备 - 每个设备显示: - 设备名称 - IP 地址 - UUID - MAC 地址 - 状态标签(成功/失败) #### 批量添加 1. 在右侧列表中勾选要添加的设备 2. 底部显示已选择的设备数量 3. 点击"批量添加"按钮 4. 系统会自动将选中的设备添加到设备列表 5. 弹窗自动关闭 **注意**: - 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" ### 扫描结果列表 - 左侧显示扫描配置 - 右侧显示设备列表(卡片式布局) - 每个设备可以单独勾选 - 底部显示选择统计和批量添加按钮 ### 批量添加 - 成功添加后显示成功消息 - 自动关闭弹窗 - 刷新设备列表 - 新添加的设备状态为"在线" ## 注意事项 1. **扫描时间**:取决于网段大小和网络状况 - /24 网段(254个IP):约 2-5 分钟 - /28 网段(14个IP):约 10-30 秒 2. **超时设置**:后端设置了 5 分钟超时 3. **并发扫描**:使用 10 个线程并发扫描,提高效率 4. **错误处理**: - 无法连接的 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 - 卡片式布局,更直观 - 每个设备显示完整信息 - 支持单个勾选和批量操作 - 批量添加后自动关闭弹窗 ### 进度显示 - 进度条显示扫描百分比 - 实时显示已扫描数量 - 显示发现的设备数量 - 扫描完成后显示成功标签