Page 121 - 电力与能源2021年第五期
P. 121
谢大海, 等: 交换机配置文件的自动采集及分析 6 3
1
强大, 但不适应中文环境。 然增加了代码量和编写代码的难度, 但是这一技
1.2 连接协议介绍 术实现了登录协议的自动选择 [ 3 ] , 减少了人工操
目前 交 换 机 通 用 连 接 协 议 有 3 个, 分 别 是 作, 提高了登录效率 [ 2-3 ] 。
Telnet , SSH1 和 SSH2 。
Telnet协议采用 A p ache组织发布的 Telnet
( 1 ) Telnet是基于 TCP / IP 连接的远程访问 开发包。 SSH2 协议采用 JCraft公司的 j sch 包。
协议, 其明文传输一直是该协议的诟病, 安全性得 因为本公司还有一些老旧交换机运行, 因此保留
不到保证。 了 SSH1 协议连接方式, 采用 MindTerm 组件, 该
( 2 ) SSH 是替代 Telnet的行业标准, 提供了 组件较为罕见, 2010 年左右停止更新。
多种加密方式, 还可以为ft p p o p 甚至 ppp 提供 在 定 义 了 3 种 不 同 的 登 录 协 议 后, 结 合
、
一个 安 全 的 “ 通 道”。 SSH 协 议 的 初 期 版 本 为
Socket对象, 判断端口的开通情况, 然后尝试登
SSH1 , 又 可 分 为 1.3 和 1.5 两 个 主 要 版 本。 录, 并选择适合的协议开展登录。
SSH1 采用 DES 、 3DES 和 RC4 等对称加密算法 2.3 命令分析
保护数据安全传输, 而对称加密算法的密钥是通
针对不同交换机和获取参数的需求, 列出主
过非对称加密算法( RSA ) 来完成交换的 [ 2 ] 。该协
要命令。
议还使用循环冗余校验码( CRC ) 来保证数据的完
2.4 分页处理
整性。
各个生产厂家和型号版本的差异, 有的交换
( 3 ) SSH2 协议修补了 CRC 的缺陷, 采用数
机有连续显示功能, 有的交换必须分页显示。
字签名算法( DSA ) 和密钥交换算法( Diffie-Hell-
2.5 获取提示符
man , 简称 DH ) 密钥交换算法来代替非对称加密
获取提示符的原理, 是输入一个回车, 然后获
算法( RSA ), 完 成对称密钥的交换, 用消息证实
取返回文本, 接着对文本进行分析, 从而获得提
代码( HMAC ) 来 代 替 循 环 冗 余 校 验 码 ( CRC )。
示符。
同时 SSH2 增加了高级加密标准( AES ) 和双鱼区
块加密算法( Twofish ) 等对称加密算法。 3 数据分析
目前, SSH2 已经成为交换机连接控制的通
交换机配置文件的分析, 其实就是对采集文
用协议。
本的分析, 大多是文本处理, 这里仅给出 3 个容易
2 自动采集的实现 忽略的关键点。
在了解交换机的连接协议后, 开始对自动采 3.1 MAC 地址类型分析
在分析 MAC 地址类型时, 除了“ 动态”、“ 静
集的研究。理论上可以用任何编程语言或任何操
态” 之外, 少量交换机有“ BlackHole ( 黑洞)” 类型,
作系统来实现应用系统的开发。按照开发人员的
个人知识结构和编程经验, 选择用 Java语言来作 在此加以区分。
3.2 中兴系列的配置文件分析
为开发语言, IntelliJIDEA 为开发环境, MYSQL
中兴交换机的配置文件与华三、 华为系列不
数据 库 为 数 据 存 储 后 台, 操 作 系 统 选 用 Win-
dows 。本文一些代码举例也将以Java语言为主。 同, 用分段标志把配置文件分成若干段, 可以根据
2.1 流分析 分段标志, 截取需要的段落, 进行分析。
应用系统与交换机的数据传输, 以流的方式 3.3 型号版本的细微差异
进行, Java语言所有的流类位于 j ava.io 包中, 都 在研究过程中发现有的交换机, 型号和主版
本相同, 仅小版本有细微不同, 其配置文件差异却
分别继承4 种抽象流类型, 分别是输入字节流In-
p utStream 、 输入字符流 Reader 、 输出字节流 Out- 很大, 影响了数据分析。比如: 某品牌 S2352P-EI
p utStream 、 输出字符 流 Writer 。采 用 Java 语 言 型号交换机的 5.70 ( V100R005C01 ) 版本和 5.70
数据流的循环读取技术, 获取交换机反馈的信息。 ( V100R006C03 ) 版 本。这 两 类 交 换 机 的 版 本 差
2.2 自动登录实现 异很小, 但是 MAC 表却存在很大差别, 系统在处
根据交换机实际情况, 采用智能判断技术, 虽 理 MAC 表时, 要加以区分。