v1.0.1: 多拓扑管理、Web SSH终端、扫描进度修复、拓扑连线优化

- 修复扫描进度条不动的问题(分4阶段更新进度)
- 新增Web SSH远程终端(xterm.js + WebSocket)
- 新增多拓扑管理(创建/切换拓扑、全局设备池)
- 简化新建拓扑流程(仅需名称,创建后选择设备)
- 修复拓扑Builder设备去重(按IP去重)
- 修复启动时拓扑设备不加载到Builder的问题
- 优化MAC前缀匹配(避免歧义前缀导致错误连线)
- 拓扑连线改为无向(去除箭头)
- 设备详情面板加宽到600px
이 커밋은 다음에 포함됨:
Your Name
2026-04-26 13:25:19 +08:00
부모 6e1b010c17
커밋 44f7fef1f8
17개의 변경된 파일1940개의 추가작업 그리고 54개의 파일을 삭제
+69
파일 보기
@@ -0,0 +1,69 @@
# 邻居信息获取问题修复说明
## 问题描述
网络拓扑发现系统无法正确获取设备间的邻居信息,导致拓扑图无法显示设备间的连接关系。
## 根本原因分析
1. **缺少ARP表支持**:原始代码没有利用ARP表来辅助邻居设备的IP地址匹配
2. **解析器参数不完整**:H3C、Cisco和华为设备的解析器在解析邻居信息时未充分利用可用的ARP数据
3. **MAC地址匹配不完善**:虽然有MAC地址匹配逻辑,但缺乏完整的IP-MAC映射支持
## 修复方案
### 1. H3C设备修复 (`internal/device/h3c.go`)
- 添加 `display arp` 命令到命令列表
- 修改 `Parse` 函数以接收6个输出而非5个
- 实现ARP表解析功能,建立MAC到IP的映射
- 在邻居解析过程中使用ARP表补充缺失的IP地址信息
### 2. Cisco设备修复 (`internal/device/cisco.go`)
- 添加 `show arp` 命令到命令列表
- 修改 `Parse` 函数以接收6个输出而非5个
- 实现ARP表解析功能,处理Cisco特有的MAC地址格式(点号分隔)
- 在CDP和LLDP邻居解析中使用ARP表补充IP地址
### 3. 华为设备修复 (`internal/device/huawei.go`)
- 添加 `display arp` 命令到命令列表
- 修改 `Parse` 函数以接收5个输出而非4个
- 实现ARP表解析功能
- 在LLDP邻居解析中使用ARP表信息
## 技术改进
### ARP表解析
- 支持多种格式的ARP表输出
- 自动标准化MAC地址格式(统一使用连字符分隔)
- 验证IP和MAC地址的有效性
### 邻居匹配增强
- 优先使用LLDP/CDP提供的直接IP地址
- 当缺少IP地址时,通过MAC地址在ARP表中查找对应IP
- 保留原有的主机名匹配和MAC地址匹配机制
### 调试信息增强
- 添加详细的调试日志,便于排查问题
- 显示ARP表条目数量
- 记录通过ARP表成功匹配的邻居信息
## 测试方法
1. 运行 `test-fix.bat` 编译并启动应用
2. 通过Web界面添加网络设备
3. 检查控制台输出的调试信息
4. 验证拓扑图中是否正确显示设备间连接
## 预期效果
修复后,系统应该能够:
- 正确解析各种设备的LLDP/CDP邻居信息
- 通过ARP表补充缺失的邻居IP地址
- 在拓扑图中准确显示设备间的连接关系
- 提供更详细的调试信息用于问题排查
## 注意事项
- 确保网络设备已启用LLDP或CDP协议
- 确保设备上有完整的ARP表项
- 某些老旧设备可能需要更长的超时时间
- 防火墙规则不应阻止LLDP/CDP数据包