一、配置和启动SNMP服务
通过SNMP监控Windows主机需要在被监控的服务器上安装简单网络管理协议(SNMP)的Windows组件,以Windows 7系统为例:
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.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.UdpAddress;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
public class SNMPTestExample {
public static void main(String[] args) throws Exception {
System.out.println(" --------------- SNMPExample start ---------------");
TransportMapping<UdpAddress> transportMapping = new DefaultUdpTransportMapping();
Snmp snmp = new Snmp(transportMapping);
transportMapping.listen();
ResponseEvent response = null;
PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.2.0")));
pdu.setType(PDU.GET);
String address = "localhost" + "/" + 161;
Address targetAddress = new UdpAddress(address);
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public")); // 改字符串是我们在上面配置的
target.setAddress(targetAddress);
target.setRetries(2);
target.setTimeout(3000);
target.setVersion(SnmpConstants.version2c);
response = snmp.get(pdu, target);
System.out.println("result: " + response.getResponse());
System.out.println(" --------------- SNMPExample ended ---------------");
}
}
import org.snmp4j.ScopedPDU;
import org.snmp4j.Snmp;
import org.snmp4j.Target;
import org.snmp4j.TransportMapping;
import org.snmp4j.UserTarget;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.MPv3;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.security.AuthMD5;
import org.snmp4j.security.PrivDES;
import org.snmp4j.security.SecurityLevel;
import org.snmp4j.security.SecurityModels;
import org.snmp4j.security.SecurityProtocols;
import org.snmp4j.security.USM;
import org.snmp4j.security.UsmUser;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.UdpAddress;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
public class SNMPExampleVersion3 {
public static void main(String[] args) throws Exception {
TransportMapping<UdpAddress> transportMapping = new DefaultUdpTransportMapping();
Snmp snmp = new Snmp(transportMapping);
USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0);
SecurityModels.getInstance().addSecurityModel(usm);
transportMapping.listen();
ResponseEvent response = null;
ScopedPDU pdu = new ScopedPDU();
pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.2.0")));
pdu.setType(PDU.GETNEXT);
String[] communities = {"private", "cur", "console", "public", "dashboard"};
// String address = "10.14.228.24"; // phxlb129a.phx.ebay.com big ip
// String address = "10.10.66.82"; // sr-filer07b.smf.ebay.com filer
String address = "localhost"; // lvslb05a.lvs.ebay.com netscaler
address = address + "/" + 161;
for (String communityString : communities) {
Address targetAddress = new UdpAddress(address);
Target target = new UserTarget();
//添加用户
snmp.getUSM().addUser(
new OctetString("MD5DES"),
new UsmUser(new OctetString("MD5DES"), AuthMD5.ID,
new OctetString("MD5DESUserAuthPassword"), PrivDES.ID,
new OctetString("MD5DESUserPrivPassword")));
//设置安全级别
target.setSecurityLevel(SecurityLevel.AUTH_PRIV);
target.setSecurityName(new OctetString("MD5DES"));
target.setVersion(SnmpConstants.version3);
pdu.setContextName(new OctetString(communityString));
target.setAddress(targetAddress);
target.setRetries(2);
target.setTimeout(3000);
target.setVersion(SnmpConstants.version3);
// response = snmp.send(pdu, getTarget(), null);
response = snmp.get(pdu, target);
System.out.println("result: " + response.getResponse());
}
}
}
相关推荐
使用Java进行SNMP编程-SNMP4J-代码实例,代码实例实现了GET, GETNEXT, GETBULK, Walk, SET操作; 提供于做服务器监控的朋友;
SNMP安装包-net-snmp-utils-5.7.2-49.el7_9.2.x86_64
net-snmp-5.4.0-1.win32.exe应用平台windows
Java使用SNMP4J实现snmp trap接口发送消息_20170808_LK
这是我学习SNMP从零开始的学习资料,因为这方面的资料网上比较少,现拿出来和大家分享! 目录: docs_1.4.1 jar/jpcap.jar jar/SNMP4J.jar jar/snmp4jclt-1.2.1.zip jar/snmp.jar 基于java的Oid获取软件.rar Java...
centos7安装SNMP时需要的所有rpm依赖包,包括lm_sensors-devel-3.4.0-4.20160601gitf9185e5.el7.x86_64.rpm、lm_sensors-libs-3.4.0-4.20160601gitf9185e5.el7.x86_64.rpm、net-snmp-5.7.2-28.el7_4.1.x86_64.rpm、...
net-snmp所需的安装补丁包,NETSNMP程序补丁包net-snmp-devel-5.3.2.2-14.el5.x86_64.rpm
rehdat el7和centos el7上的net-snmp版本为5.7,不支持snmpv3的AES-192和AES-256,net-snmp 5.8版本才支持,所以编译成rpm包。 先安装一些依赖: yum install -y perl-devel perl-ExtUtils-Embed elfutils-devel ...
针对centos7, 具体版本号 perl-Data-Dumper-2.145-3.el7.x86_64.rpm、 net-snmp-libs-5.7.2-28.el7_4.1.x86_64.rpm、 net-snmp-utils-5.7.2-28.el7_4.1.x86_64.rpm、 lm_sensors-libs-3.4.0-4.20160601gitf9185e5....
lm_sensors-libs-3.1.1-17.el6.x86_64.rpm。net-snmp-5.7.2-37.el7.x86_64.rpm,net-snmp-agent-libs-5.7.2-37.el7.x86_64.rpm,net-snmp-libs-5.7.2-37.el7.x86_64.rpm,net-snmp-utils-5.7.2-37.el7.x86_64.rpm
eclipse工程(编译通过,能运行) snmp4j API get,getnext,set,trap,取mib值 实例
cacti安装所需安装包之一 net-snmp-5.7.2.tar.gz
netsnmp程序补丁包net-snmp-utils-5.3.2.2-14.el5.x86_64.rpm
net-snmp-5.4.3是Linux环境下的snmp软件,想学习net-snmp内容,必须的软件之一。我的资源中还用MIB查看软件,欢迎下载使用
net-snmp-5.7.0-1.x86.exe 客户端windows。
net-snmp-5.5-49.el6_5.3.x86_64.rpm net-snmp-devel-5.5-49.el6_5.3.i686.rpm net-snmp-devel-5.5-49.el6_5.3.x86_64.rpm net-snmp-libs-5.5-49.el6_5.3.i686.rpm net-snmp-libs-5.5-49.el6_5.3.x86_64.rpm ...
net-snmp-5.7.3的tar包(源码包),可直接编译安装(内附安装说明),同时内附gcc编译工具的rpm包,执行里边的install.sh即可安装
SNMP MIBS下载器##在Ubuntu上使用snmp-mibs-downloader_1.1.tar.gz安装snmp-mibs-downloader的说明最近,我尝试在Ubuntu机器上安装snmp,由于在apt套件下没有snmp-mibs-dowloader软件包,因此在下载MIB时遇到了很多...
1 windows下安装和配置snmp服务 2 用snmp4j获取本地所有oid 代码
centos 7 snmp rmp 安装包,net-snmp-5.7.2-43.el7.x86_64.rpm