java snmpget_Java Snmp.getNext方法代码示例

这个Java代码示例展示了如何使用Snmp4j库进行SNMP GET-NEXT请求。程序创建了TransportMapping、CommunityTarget对象,并设置目标地址、重试次数和超时时间。接着,创建PDU对象,添加OID,然后通过Snmp对象发送GET-NEXT请求到Agent。如果收到响应,它将处理并打印响应信息,包括错误状态和变量绑定。
摘要由CSDN通过智能技术生成

import org.snmp4j.Snmp; //导入方法依赖的package包/类

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

{

System.out.println("SNMP GET-NEXT Simple Request");

// Create TransportMapping and Listen

TransportMapping transport = new DefaultUdpTransportMapping();

transport.listen();

// Create Target Address object

CommunityTarget comtarget = new CommunityTarget();

comtarget.setCommunity(new OctetString(community));

comtarget.setVersion(snmpVersion);

comtarget.setAddress(new UdpAddress(ipAddress + "/" + port));

comtarget.setRetries(2);

comtarget.setTimeout(1000);

// Create the PDU object

PDU pdu = new PDU();

pdu.add(new VariableBinding(new OID(oidValue)));

pdu.setRequestID(new Integer32(1));

pdu.setType(PDU.GETNEXT);

// Create Snmp object for sending data to Agent

Snmp snmp = new Snmp(transport);

System.out.println("Sending GetNext Request to Agent ...");

ResponseEvent response = snmp.getNext(pdu, comtarget);

// Process Agent Response

if (response != null)

{

System.out.println("\nResponse:\nGot GetNext Response from Agent...");

PDU responsePDU = response.getResponse();

if (responsePDU != null)

{

int errorStatus = responsePDU.getErrorStatus();

int errorIndex = responsePDU.getErrorIndex();

String errorStatusText = responsePDU.getErrorStatusText();

if (errorStatus == PDU.noError)

{

System.out.println("Snmp GetNext Response for sysObjectID = " + responsePDU.getVariableBindings());

}

else

{

System.out.println("Error: Request Failed");

System.out.println("Error Status = " + errorStatus);

System.out.println("Error Index = " + errorIndex);

System.out.println("Error Status Text = " + errorStatusText);

}

}

else

{

System.out.println("Error: GetNextResponse PDU is null");

}

}

else

{

System.out.println("Error: Agent Timeout... ");

}

snmp.close();

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值