【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
随着internet的飞速发展,信息的日益丰富决定着将来的用户界面主要是一种信息界面,从某种意义上说,信息可视化代表着下一代用户界面的方向。虽然信息可视化是一个较新的科学领域,目前绝大多数研究工作都还处在发展新技术和构建新系统方面,但已经出现了一些信息可视化方面的实用工具。这些新技术和实用工具为实现大规模网络拓扑图的可视化奠定了基础。
要想有效、方便地管理网络设备和服务就必须要求网络管理软件能够准确、自动地发现和显示网络中的各节点连接情况和它们的属性,也就是说如何将网络拓扑图直观的、清晰地显示出来,并且尽可能多的包含其它网络管理信息,已经成为网络拓扑管理中的一个关键任务,这一点对于整个网络管理系统的用户体验有着直接的影响。而复杂网络是一类重要的信息资源,适当使用可视化方法,可为人们认识网络拓扑的内部结构和潜在规律提供一种有效的途径。但是,复杂网络的本质特性及其庞大规模对可视化工作提出了巨大挑战。
智和信通推出的一款基于Java技术开发的免费网络拓扑软件- SugarNMSTool,能够实现网络设备搜索发现、设备拓扑生成以及设备内部资源发现等功能。
免费网络拓扑软件- SugarNMSTool
SugarNMSTool是“北京智和信通技术有限公司”开发的图形化SNMP工具,可以免费使用。工具只有3M大小左右,便于携带,免安装,无数据库,可在Windows、Linux、Unix系统上快速运行。 工具由大型SugarNMS智和网管平台的精华功能精简而成。SugarNMSTool是网管员、SNMP设备开发调试、SNMP诊断的日常必备工具。产品网站:www.zhtelecom.com
SugarNMSTool的功能
1.设备和链路自动发现
- 可以按IP起始范围、网络段范围、路由跳转搜索、IP漫游发现方式等,通过SNMP和Ping协议发现设备,并识别设备的基本类型。
- 在设备发现的过程当中,通过LLDP、CDP、ICMP、ARP技术、邻居路由、端口转发表、STP生成树协议等物理拓扑发现技术,发现设备的物理链接。
- 设备和链路发现完毕后,在图形界面上以拓扑图的形式显示出来。
2.设备和链路手工编辑
除自动发现外,还可以手工添加、删除、修改网络设备和链路。
3.拓扑图管理界面
拓扑图支持放大、缩水、拖拽、导出、打印等操作;拓扑图可以按树型、Spring、圆形、Organic等自动布局排列。
4.设备内部资源发现
自动发现出设备内部的网口、光口、电口、磁盘、内存、CPU、软件服务等资源信息,进一步了解设备的内部状态。
5.SNMP常用信息查看
设备网络接口信息 | 设备硬件设施信息 | 设备接口流量信息 | 主MAC和端口信息 |
设备CPU信息 | 设备系统信息 | 运行进程信息 | 设备基本参数 |
安装软件信息 | 设备TCP连接信息 | 进程占用CPU和内存情况 | 设备UDP连接信息 |
设备IP地址配置管理 | 设备SNMP统计信息 | ARP(MAC-IP)信息表 | 查看设备IP层流量信息 |
端口转发表 | 路由信息 | 交换机端口下挂设备信息 | 设备磁盘内存信息 |
6.SNMP Trap接收和显示
工具自带了SNMP TRAP服务,可以接受SNMP TRAP信息,并自动在界面上显示TRAP的详细信息。
7.SNMP MIB浏览器
工具自带了MIB 浏览器功能,支持导入其他MIB库。以SNMP V1/V2/V3 协议,对设备SNMP进行GET、SET、GetBuilk、GetNext等查询、修改OID的操作。
8.数据保存和恢复
拓扑中的网络设备和链路信息,可以保存到文件中,在下次工具启动时,可以自动恢复以前的网络设备和链路信息,自动恢复出以前的拓扑图界面。
功能实现代码示例
设备发现- "按IP范围搜索设备"的核心源码
String startIP = "192.1.1.1"; //起始IP
String endIP = "192.1.1.100"; //结束IP
boolean isUsePing = "true"; //是否Ping
//SNMP参数信息列表
List<SNMPTarget> snmpTargetList = new ArrayList<SNMPTarget>();
SNMPTarget target1 = new SNMPTarget(); //SNMP参数信息
target1.readCommunity = "public";
target1.port = 161;
target1.snmpVersion = 1; //版本为V2C
snmpTargetList.add(target1);
SNMPTarget target2 = new SNMPTarget();
target2.readCommunity = "public";
target2.port = 161;
target2.snmpVersion = 0; //版本为V1
snmpTargetList.add(target2);
/**
*查找设备列表信息
*/
List<DeviceInfo> deviceInfoList = DiscoverAPI.getDiscoverAPI()
.searchDevice(startIP, endIP, snmpTargetList, isUsePing);
/**
*查找设备间的链接信息
*/
List<LinkInfo> linkInfoList = DiscoverAPI.getDiscoverAPI()
.searchLinkInfo(deviceInfoList);
来源:oschina
链接:https://my.oschina.net/u/2915736/blog/813098