Your Name
e2f804ac52
feat: 增强拓扑匹配算法,支持多重匹配策略
...
- 添加5重匹配策略:IP直连、主机名、MAC地址、子网匹配、接口描述
- 实现智能子网匹配:仅当网段只有2台设备时才使用(避免歧义)
- 修复JSON配置文件尾随逗号问题
- 修复devices.json解析错误
- 优化邻居匹配逻辑,提升拓扑连接准确性
修复问题:
- 解决LLDP邻居MAC无法匹配设备的问题
- 解决ARP表解析返回0条记录的问题
- 解决设备之间无法建立拓扑连接的问题
当前成果:
- 5个设备节点正确显示
- 3条拓扑边正确建立(172.16.8.6↔172.16.8.1, 172.16.8.8↔172.16.8.6, 172.16.8.9↔172.16.8.6)
2026-04-26 05:45:00 +08:00
Your Name
6d2323b5b6
feat: enhance H3C LLDP parser to support verbose format with System name and Management address
...
- Add support for LLDP verbose output format (display lldp neighbor-information verbose)
- Parse System name field for accurate device hostname matching
- Parse Management address field for IP-based neighbor identification
- Handle edge cases: endpoint devices without System name (fallback to MAC)
- Handle Port ID as MAC address (not interface name) for endpoint devices
- Add detailed debug logging for LLDP neighbor parsing
- Implement three-level fallback strategy: System name > Management IP > MAC address
This fixes the topology auto-linking issue where only 1 link was created despite having neighbor data.
2026-04-26 03:56:04 +08:00
Your Name
87d233659c
Feat: 使用Shell模式执行命令
...
- 实现ExecuteCommands使用Shell模式,在同一个会话中顺序执行
- 解决H3C设备session.Run后EOF断开问题
- 增加cleanCommandOutput清理命令回显和版权信息
- display interface等待5秒,其他命令等待2秒
2026-04-26 03:19:10 +08:00
Your Name
4edc1b67fc
Fix: 清理SSH客户端代码并增加命令延迟到2秒
...
- 移除所有残留的Shell模式代码
- 使用简洁的session.Run模式
- 命令间延迟从500ms增加到2秒,防止H3C速率限制
- 超时时间设置为30秒
2026-04-26 03:11:07 +08:00
Your Name
db161fa3f2
Fix: 使用display interface brief替代ip interface brief
...
- 交换机使用VLAN互联,应该使用display interface brief
- 移除ARP表依赖,直接使用LLDP邻居信息
- 简化命令列表从6个减少到5个
2026-04-26 03:06:15 +08:00
Your Name
c311a570da
Fix: 添加命令间500毫秒延迟防止H3C设备速率限制
...
- 每个SSH命令执行后等待500毫秒
- 解决命令交替返回0字节的问题
2026-04-26 02:45:50 +08:00
Your Name
a9fcb47ef5
Fix: 添加time包导入
2026-04-26 02:43:29 +08:00
Your Name
c34b29d32c
Fix: 增加SSH超时时间和详细日志
...
- 超时从10秒增加到30秒
- 添加每个命令执行的详细日志
- 便于诊断LLDP命令返回0字节的问题
2026-04-26 02:41:36 +08:00
Your Name
c93d75b37d
Debug: 添加screen-length disable命令输出调试
2026-04-26 02:14:11 +08:00
Your Name
af8bf21a46
Debug: 增强H3C防火墙接口输出调试
...
- 输出小于1000字节的完整内容
- 便于诊断防火墙接口解析问题
2026-04-26 02:13:09 +08:00
Your Name
0d92ff8ef0
Fix: 修正H3C解析器输出索引
...
- outputs[4] 是 display lldp neighbor-information
- outputs[5] 是 display arp
- 修正后邻居和ARP表解析正确
2026-04-26 02:05:06 +08:00
Your Name
21326b6731
Fix: 添加screen-length disable命令并恢复SSH客户端
...
- 在H3C命令列表最前面添加screen-length disable
- 恢复SSH客户端为原始简单模式(session.Run)
- 修正解析器输出索引适配新命令列表
2026-04-26 01:58:23 +08:00
Your Name
7e21e60852
Debug: 添加H3C接口输出调试日志
...
- 在解析器中输出display interface原始数据
- 便于诊断接口为空的问题
2026-04-26 01:54:16 +08:00
Your Name
096e752459
Feat: 添加详细的MAC地址解析调试日志
...
- 输出邻居MAC解析详情
- 输出每个接口的MAC地址状态
- 输出收集的MAC地址总数
- 帮助诊断为什么MAC地址为空
2026-04-26 01:20:00 +08:00
Your Name
6771858c40
Feat: 支持通过MAC地址进行邻居匹配和拓扑连线
...
- Neighbor模型添加RemoteMAC字段
- Device模型添加MACAddresses字段
- H3C解析器保存邻居MAC地址和设备所有接口MAC
- 拓扑构建支持三层匹配: IP -> 设备名 -> MAC地址
- 即使ARP表获取失败也能通过MAC地址自动连线
2026-04-26 01:08:14 +08:00
Your Name
30b05709eb
Fix: 修正H3C ARP表解析器适配真实输出格式
...
- 修正标题行匹配: Type: (带冒号)
- 跳过IP address标题行
- 适配真实ARP表格式: IP MAC VLAN Interface Aging Type
- 正确解析MAC到IP映射
2026-04-26 00:50:27 +08:00
Your Name
4abfd0716e
Fix: 修正H3C接口解析器适配真实输出格式
...
- 支持接口名和状态分两行的格式
- 修正MAC地址正则: hardware address: (不是Hardware address is)
- 修正IP地址正则: Internet address: x.x.x.x/24 (CIDR格式)
- 添加CIDR到子网掩码转换函数
- 支持多种接口类型前缀匹配
2026-04-26 00:49:06 +08:00
Your Name
8b7dbf2886
Fix: 替换SQLite为JSON文件存储,无需CGO支持
...
- 移除go-sqlite3依赖,改用纯Go的JSON文件存储
- 解决Windows上CGO_ENABLED=0导致SQLite无法使用的问题
- 添加线程安全的读写锁保护
- 支持数据持久化,重启后数据不丢失
- 简化存储逻辑,提高可靠性
2026-04-26 00:46:37 +08:00
Your Name
84724995b8
Fix: 优化H3C ARP表解析和邻居关联
...
- 使用display arp命令(已验证可用)
- ARP命令失败时不影响其他数据采集
- 添加详细日志显示ARP条目数量
- 如果ARP表中找不到IP,使用MAC地址作为邻居标识
- 容错处理:ARP表为空时继续处理邻居信息
2026-04-26 00:20:43 +08:00
Your Name
3c4ede7a59
Fix: 修正H3C LLDP邻居解析,使用ARP表映射MAC到IP
...
- 根据实际输出格式重写解析器
- 添加display arp命令获取MAC-IP映射
- 通过ChassisID(MAC)在ARP表中查找对应IP
- 正确提取本地接口和远程接口信息
- 实现MAC地址到IP地址的自动关联
2026-04-25 23:58:19 +08:00
Your Name
95ab5e0fdb
Fix: 修正H3C设备LLDP邻居发现命令
...
- 将 'display lldp neighbor-list' 改为 'display lldp neighbor-information'
- 重写解析函数以适配新命令的输出格式
- 正确提取邻居设备名称、IP、接口信息
2026-04-25 23:20:58 +08:00
Your Name
3de2668286
Fix: 增强SSH会话管理和错误处理
...
- 添加会话创建重试机制(最多3次)
- 允许部分命令失败而不中断整个扫描
- 改进错误提示和日志输出
- 解决H3C设备LLDP命令会话拒绝问题
2026-04-25 23:00:23 +08:00
Your Name
d0927cbad5
Initial commit: 网络拓扑发现系统
...
- 支持Cisco、华为、H3C、ASA、Linux、Windows设备
- SSH远程采集设备信息
- 自动发现网络拓扑(LLDP/CDP)
- Web可视化界面
- 支持旧版SSH加密算法兼容
2026-04-25 22:35:51 +08:00