网络相关的命令工具研究报告:利用SNMP获取远程操作系统的描述信息和开机时间

一、SNMP简介

SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。

二、SNMP服务的开启

Window和部分Linux自带snmp服务,只需要简单的配置和开启即可,方法网络上很多,不多赘述。

三、使用工具获取远程系统信息

以下将采用三种方式简单的获取设备的描述信息和开机时间,想了解更多的系统信息,可以网上查阅有关SNMP、MIB以及OID的介绍。

1.Windows下的Snmputil命令行工具,该工具Windows系统并没有自带,网络上可以很方便的下载到。

命令规则:Snmputil.exe get IP地址 被检测系统设置的团体字(类似于密码) OID信息

如下图所示,我把Snmputil.exe放置在了C盘,在192.168.1.102电脑上设置的团体字为:SA19225338,以下为获取192.168.1.102设备的描述信息的打印结果。其中.1.3.6.1.2.1.1.1.0为设备描述的oid

如下图所示,为我所获取192.168.1.102设备的开机时间,其中.1.3.6.1.2.1.1.1.0为设备开机时间的oid

 2.使用Java语言获取这些信息

使用方法:

a.新建Java工程,引入snmp4j lib包如图:

b.编写代码

public static void main(String[] args) throws Exception
{

//目标机器地址,SNMP默认端口号为161
Address targetAddress = GenericAddress.parse("udp:127.0.0.1/161");

//构建SNMP对象,该对象中有用于SNMP的相关方法
TransportMapping transport = new DefaultUdpTransportMapping();
Snmp snmp = new Snmp(transport);
transport.listen();

CommunityTarget target = new CommunityTarget();
//在机器上配置好的团体字
target.setCommunity(new OctetString("SA19225338"));

//设置基本信息
target.setAddress(targetAddress);
target.setRetries(2);//重试次数
target.setTimeout(1500);//超时时间
target.setVersion(SnmpConstants.version2c);//SNMP版本

PDU pdu = new PDU();
   //系统描述信息OID
pdu.add(new VariableBinding(new OID(new int[] { 1,3,6,1,2,1,1,1,0 })));
   //系统开机时间OID
pdu.add(new VariableBinding(new OID(new int[] { 1,3,6,1,2,1,1,3,0 })));
pdu.setType(PDU.GET);
ResponseEvent event = snmp.send(pdu, target);

if (event != null && event.getResponse() != null) {

//得到返回信息的集合
Vector<VariableBinding> recVBs = (Vector<VariableBinding>) event.getResponse().getVariableBindings();

//遍历返回信息
for (int i = 0; i < recVBs.size(); i++) {
VariableBinding recVB = recVBs.elementAt(i);
System.out.println(recVB.getOid() + " : " + recVB.getVariable());
}
}

snmp.close();
}

 c.打印结果,可以看到已经打印出设备的描述信息和开机时间

 3.采用可视化工具获取这些信息

网络上可视化管理工具比较多,使用起来更为方便简单,可以作为检测代码的对照工具,下面我以MIB Browser为例: 

 

 

 

 

 

 

 

 

 

posted @ 2019-11-27 15:39  谭浩1410  阅读(1369)  评论(0)    收藏  举报