SNMP获取指定IP地址机器的进程数(要导入SNMP4J.jar和snmp.jar包)
2013-03-19 22:13
633 查看
package com.gosun.cecs.service; import java.io.IOException; import java.util.Vector; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.event.ResponseEvent; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OID; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class SnmpGet { private Snmp snmp = null; private Address targetAddress = null; public void initComm() throws IOException { // 设置Agent方的IP和端口 targetAddress = GenericAddress.parse("udp:192.168.28.20/161"); TransportMapping transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); transport.listen(); } @SuppressWarnings("unchecked") public void sendPDU() throws IOException { // 设置 target CommunityTarget target = new CommunityTarget(); target.setCommunity(new OctetString("public")); target.setAddress(targetAddress); // 通信不成功时的重试次数 target.setRetries(2); // 超时时间 target.setTimeout(1500); target.setVersion(SnmpConstants.version1); // 创建 PDU PDU pdu = new PDU(); pdu.add(new VariableBinding(new OID(".1.3.6.1.2.1.25.1.6.0"))); // MIB的访问方式 pdu.setType(PDU.GET); // 向Agent发送PDU,并接收Response ResponseEvent respEvnt = snmp.send(pdu, target); // 解析Response if (respEvnt != null && respEvnt.getResponse() != null) { Vector<VariableBinding> recVBs = respEvnt.getResponse().getVariableBindings(); for (int i = 0; i < recVBs.size(); i++) { VariableBinding recVB = recVBs.elementAt(i); System.out.println(recVB.getOid() + " : " + recVB.getVariable()); } } } public static void main(String[] args){ try { SnmpGet util = new SnmpGet(); util.initComm(); util.sendPDU(); } catch (IOException e) { e.printStackTrace(); } } }
相关文章推荐
- C# 获取指定进程的主窗口句柄
- 通过 ARP 协议获取局域网内指定 IP 地址的机器的 MAC 地址
- 做Talk!软件的知识点滴(1)--如何获取本机的机器名和IP地址?
- Linux(CentOS7) 系统中指定机器的IP地址(静态IP)
- JS获取客户端IP地址与机器名
- Android如何获取指定url的ip地址
- 获取指定进程的路径-支持32位和64位
- 获取指定进程模块handle 然后FreeLibrary掉
- 获取机器占用最大io读写的进程
- mongodb导入csv格式 获取指定字段
- [导入]ASP.NET获取客户端IP地址的几点补充[转载]
- Windows获取本机机器名和ip地址及ip地址的字符串形式
- 获取机器占用最大io读写的进程
- 利用paramiko模块批量查看远程机器上指定进程的相关信息
- 根据进程号获取该进程所在客户端的ip地址
- C#获取指定IP地址的数据库所有数据库实例名
- 获取指定进程所有线程的当前执行模块
- 能否实现获取指定进程的调用堆栈信息?
- java下linux和window通用的获取指定网段的本地ip地址(NetworkInterface)
- Delphi 如何让程序获取权限结束指定进程?