首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDU.TRAP对PDU.SET snmp4j

PDU.TRAP对PDU.SET snmp4j
EN

Stack Overflow用户
提问于 2013-11-07 11:59:13
回答 2查看 1.6K关注 0票数 0
代码语言:javascript
复制
PDU pdu = new PDU();
pdu.setType(PDU.SET);

pdu.add(new VariableBinding(new OID("1.3.6.1.4.1.100.1.1"), new Counter64(System.currentTimeMillis())));
pdu.add(new VariableBinding(new OID("1.3.6.1.4.1.100.2.1"), new OctetString("some string")));

TransportMapping transport = null;
Snmp snmp = null;

try {
    transport = new DefaultUdpTransportMapping();
    transport.listen();

    snmp = new Snmp(transport);
    snmp.send(pdu, getCommunityTarget());
} catch (Exception e) {
    // error occurred
}

这就是我如何发送我的snmp陷阱,以引起警报。我在snmp代理中设置一个varible,并在MIB浏览器中浏览它。我想知道,如果我把pdu类型设置为PDU.TRAP,它可以在162号端口上工作,而不是161号端口,我不能看到它是MIB浏览器,而是在陷阱接收器。有什么关系?使用PDU.TRAP的目的是什么?我的经纪人怎么能抓到它?提出和澄清警报的最佳做法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-02 10:15:00

在实现SNMP实体时,通常最好是实现所谓的“陷阱定向轮询”概念,而不是简单的“陷阱发送方”。对于后者,SNMP4J可以开箱即用,对于第一个SNMP4J-Agent可以使用.这也是在Apache 2开放源码许可下获得的许可。

由于陷阱可能在网络上丢失,陷阱定向轮询方法有许多优点,尽管它需要更多(很少)的努力来实现代理部分。

关于原问题:

  • 当发送一组pdu时,请命令响应者(代理)更改其实体的一些信息。
  • 当发送陷阱或更好的通知pdu时,您希望将事件通知命令生成器(管理器)。在设置了陷阱定向轮询概念之后,命令生成器还将定期向*LastChanged对象发送GET请求(例如每5分钟一次),以便有效地检测命令响应者MIB的某些(板球)子树中的数据更改。如果检测到更改(通过通知PDU或轮询),则命令生成器向comamnd响应程序请求更改的数据。
票数 1
EN

Stack Overflow用户

发布于 2013-11-07 12:16:47

不同之处在于角色: SET由管理人员针对代理执行,而TRAP则相反。基本的Snmp4j只支持SNMP管理器的实现。也可以实现代理的某些方面,但并不简单。不过,很难判断这两种方法中的哪一种是真正想要实现的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19835368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档