当前位置: 首页 > 知识库问答 >
问题:

SNMP:添加陷阱目标

林亦
2023-03-14

我对SNMP相当陌生,我使用snmp4j库在java中创建了一个SNMP代理。在我的代码中,我添加了localhost作为陷阱目标。因此,我在端口162上收到通知:

    targetMIB.addTargetAddress(new OctetString("notification"),
        TransportDomains.transportDomainUdpIpv4,
        new OctetString(new UdpAddress("127.0.0.1/162").getValue()),
        200, 1,
        new OctetString("notify"),
        new OctetString("v2c"),
        StorageType.permanent);

我现在尝试的是使用snmp浏览器(如iReasoning MIB browser)从另一个ip地址接收陷阱。但在那里,我无法向目标mib添加条目。

我错过了什么吗?

谢谢你。

编辑:

我想使用mib浏览器向目标地址表添加一个条目。使用iReasoning Mib browser,我没有“创建行”按钮,使用ManageEngine的工具,我有一个“添加”按钮,但它似乎没有任何作用。

因此,我只是在这里尝试更改我使用代码创建的行:

我尝试使用OcetString设置值:127.0.0.1:162127.0.0.1/1620700000100A2 0x0700000100A2

但是什么都不管用

共有1个答案

贡建修
2023-03-14

为了获得更多信息,我使用NET-SNMP工具解决了我的问题。

我所做的是:

>

  • 下载网络snmp二进制文件
  • 确保MIB位于默认文件夹中(请参见自述)
  • 试试snmpwalk:

    snmpwalk-v2c-c[阅读社区]127.0.0.1目标地址表

    SNMP-TARGET-MIB::snmpTargetAddrTDomain。'测试“=OID:SNMPv2 TM::snmpUDPDomain SNMP-TARGET-MIB::snmpTargetAddrAddress。”测试“=十六进制字符串:00 00 00 00 00 A1 SNMP-TARGET-MIB::snmpTargetAddrTimeout。”测试“=整数:1500 SNMP-TARGET-MIB::snmpTargetAddrRetryCount。”测试“=整数:3 SNMP-TARGET-MIB::snmpTargetAddrTagList。”测试“=字符串:v2c SNMP-TARGET-MIB::snmpTargetAddrParams。”测试“=字符串:SNMP-TARGET-MIB::snmpTargetAddrStorageType。”测试“=整数:非易失性(3)

    4) 设置:

    snmpset-v2c-c[社区写入]127.0.0.1 snmpTargetAddrAddress。'测试“x 0000000000 A1 snmpTargetAddrTDomain”测试“o 1.3.6.1.6.1.1 snmpTargetAddrTagList。”测试的notify snmpTargetAddrParams测试的v2c SNMPTargetAddRowStatus测试i 4

    SNMP-TARGET-MIB::snmpTargetAddrTAddress.'test' = Hex-STRING: 00 00 00 00 00 A1
    SNMP-TARGET-MIB::snmpTargetAddrTDomain.'test' = OID: SNMPv2-TM::snmpUDPDomain
    SNMP-TARGET-MIB::snmpTargetAddrTagList.'test' = STRING: notify
    SNMP-TARGET-MIB::snmpTargetAddrParams.'test' = STRING: v2c
    SNMP-TARGET-MIB::snmpTargetAddrRowStatus.'test' = INTEGER: createAndGo(4)
    

    SNMPTargetAddrTaddrTaddress是一种测试

  •  类似资料:
    • 我在Python3中收到了一条SNMP陷阱消息,得到了一个十六进制数。 如何将其转换为字符串以便查看? 接收数据(十六进制) B'0E\x02\x01\x01\x04\x06404040\xa78\x02\x04\x00\xf6\x17~\x02\x01\x00\x02\x01\x000*0\x0f\x06\x08\x06\x01\x02\x01\x01\x03\x00C\x03\x01k0\x1

    • 如何使用C或C和net snmp模块接收陷阱。我需要示例代码,但示例位于http://www.net-snmp.org/使用系统调用,但不要使用API方法。

    • 我想接收snmp陷阱,我在snmp4j上获得了它,但现在我正在使用westhawk snmp堆栈库来实现陷阱接收器模块。我使用这个库示例来接收陷阱,但这段代码以rawPdu的形式接收陷阱,当我编辑代码时,我应该怎么做?这是我的代码:

    • while (<STDIN>) 一定要小心这点。如果你不知怎么回事地得到了假值(如:空行),你的文件可能 停止处理了。假如你在处理文件读取(除非修改了 $/),这种事一般不会发生, 但却可能发生。 你更喜欢这样运行: while (readdir(DIR)) { 假设你有文件名为 0 的话,那么程序将停止,且不会继续处理文件。 更合适的 while 循环看起来像这样: while ( defin

    • 我正在尝试侦听标准UDP 162端口上的snmp陷阱,然后解析并输出它们。 我已经研究了用于节点的snmpjs和snmp本机插件,它们似乎都主要关注代理的生成。我想做的是侦听和解码转发到本地主机的陷阱和通知(甚至可能是确认通知)。我知道我可以花很多时间和dgram和ASN在一起。1但希望使用已编写的snmp代码。 这两个snmp解析函数都会导致错误,第一个是parseMessage未定义,并且在s

    • 通常,Python 旨在成为一门简洁一致的语言,避免发生意外。然而,有些情况可能会给新手们造成困惑。 在这些情况中,有一些虽是有意为之,但还是有潜在风险。还有一些则可以说是语言设计缺陷了。总之,下面列出的这些情况都是些乍一看很不好理解的行为,不过一旦您了解了这些奇怪行为背后的机理,也就基本上能理解了。 可变默认参数 似乎每个 Python 新手都会感到惊讶的一点是 Python 在函数定义中对待可