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

我的代理实现了哪个SNMP版本

卢晟
2023-03-14

我对SNMP代理实现有一些基本问题,其中一些问题可能也无效,但请让我知道

  1. 是否有任何方法可以从SNMP Manager中找到代理支持的SNMP版本

共有2个答案

左丘季
2023-03-14

以下答案是基于我的研究和实施.........

  1. 是的,我们可以使用它的内置api获取snmp的版本
  2. 是的snmp支持向后兼容。
  3. 是的,我们可以在v1、v2和/或v3中实现多个OID。动态区分是由库(如net-snmp库)完成的,它反过来调用注册的回调函数。

库检查请求消息类型(有关更多信息,请查看SNMP v1/v2/v3 PDU格式),并动态决定应使用哪种消息解码技术以及应调用哪种回调函数。

干杯……:)

况景龙
2023-03-14

>

  • 您应该假设所有代理都必须使用其IP地址和凭据手动注册到管理器中。SNMP标准没有自动发现机制。

    代理可能同时支持v1、v2c和v3。

    响应消息类型(v1、v2c或v3)完全取决于请求的消息类型。它们必须匹配。

    这是可能的(因为标准并不禁止这样做),但一般来说应该完全避免。据我所知,没有一个经理能够动态地完成您所描述的任务。

    通常SNMP管理器只允许您通过IP版本对定义代理。因此,具有多版本支持的代理可以被视为同一IP地址的多个代理(每个都有一个版本)。因此,如果代理支持多个版本,您应该在管理器中注册最高版本。这对代理管理来说就足够了。

  •  类似资料:
    • 我有一个使用Indy组件进行TCP通信的c应用程序。现在我需要实现SNMP代理(?)只是为了通过SNMP响应有关应用程序状态的请求。我决定也使用Indy组件来完成这项任务。也许有一些标准的方法来实现这个? SNMP组件可以很好地获取一些值。但我找不到如何通过snmp从应用程序返回值的示例。 根据Remy Lebeau的建议,我已经开始实施SendTrap。 但当我运行应用程序时,我的系统中并没有u

    • 问题内容: 我必须在Windows服务器上运行Python脚本。我怎么知道我拥有哪个版本的Python,它真的很重要吗? 我正在考虑将其更新为最新版本的Python。 问题答案: http://docs.python.org/using/cmdline.html#generic- options 可能也可以工作(在2.5版中引入)

    • 我已使用snmp4j api在SNMP代理上创建,但SNMP表注册存在问题 一旦我注册了表和表中的行。然后,如果我在表中设置值,所有行都会设置相同的值。我已经从JSON创建了snmp表 如果我设置了值,请在下表中 .1.3.6.1.4.1.1.201.6.2。它为下表中注册的所有行设置值。是否有人知道如何使用snmmpj代理正确注册和设置值。

    • 我不熟悉snmp,并使用snmp4j创建snmp代理。我的java应用程序需要侦听snmp请求,并根据传入的oid查询db,然后返回响应。我有snmp代理的src代码。但是代理如何根据传入的oid查询db?我是否需要将数据库中的所有OID注册为代理中的托管对象,以便代理可以在请求到达时进行查找?或者换句话说,如何从代理指向我的数据存储/数据库? 这是我正在使用的代码。 http://shivaso

    • 我是SNMP新手,谢谢你的支持......我有一个子代理的现有Perl脚本,在尝试运行它时出现了以下问题:代理似乎连接到“默认”snmpd deamon,该deamon被配置为主代理(“master agentx”行存在于snmpd.conf中)。此时,脚本将一些值分配给我的MIB中的对象。但是,当我然后在master-agent上执行snmpwalk或snmpget时,我得到(对于v1查询)“结

    • 我有未启用SNMP的设备。我有API来获取其状态,并正在为其实现SNMP代理。我使用SNMP4j做到了这一点,并且可以回答GET请求并发送陷阱。 我的问题是,有几个(2)这样的设备来监控我的程序的同一个实例。到目前为止,我为MIB中的每个设备添加了一个分支,如和,但1-这很丑陋,2-我不能为每个设备提供一个MIB,但为整个系统提供一个MIB,其中包含冗余信息,这也很丑陋;) 我不确定MIB对象是否