问题标签 [snmp4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
335 浏览

snmp4j - 如何将 snmpget 请求转发到远程机器并获得响应

我正在使用 snmp4j java API 并通过扩展 BaseAgent 和扩展 CommandProcessor 来实现 AgentServer 以获取 snmp 请求。我在 processrequest 中成功获取了 snmp 请求。我已经重写了 dispactchCommand() 方法以将命令分派给超类命令处理器。一旦我收到请求,我需要更改 OID 并将 snmpget 请求发送到远程机器并从远程机器获取响应。即)我试图将请求转发到远程机器并取回响应。

谢谢施里拉姆

0 投票
1 回答
1514 浏览

snmp - SNMP:添加陷阱目标

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

我现在要做的是使用 snmp 浏览器(例如 iReasoning MIB Browser)从另一个 IP 地址接收陷阱。但是我无法设法向目标 mib 添加条目。

我错过了什么吗?

谢谢你。

编辑 :

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

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

这是 mib 浏览器的屏幕截图: Mib 浏览器 snmpTargetAddrTable

当我尝试更改 IP 地址时,出现错误: 设置窗口

错误信息

我尝试使用 OctetString 设置值:127.0.0.1:162 127.0.0.1/162 0700000100A2 0x0700000100A2

但没有任何作用

0 投票
0 回答
1116 浏览

java - 如何使用 SMNP4J 实现委托代理

我正在使用 SNMP4J 库编写代理程序 (SNMP v2c)。

我从这里的代码开始。

委托代理 ( TestProxy) 接收到从管理代理 (MA, 的对象TrapSenderVersion2) 发送的陷阱,尽管陷阱从未到达网络管理系统 (NMS, 的对象TrapReceiver),但转发的结果为真。

您能否给我一些好的建议,最好提供一个适合您的委托代理样本?


测试代理.java


陷阱接收器.java


TrapSenderVersion2.java

0 投票
1 回答
1622 浏览

snmp - 如何在 snmp4j 中向 MIB 表添加行

我正在编写一个程序,该程序应该从本地路由器的白名单读取和写入 MAC 地址。

我已经设法读取了这个所谓的“wlanACLTable”的当前表内容,但我无法使用 SNMP 向该表添加另一行。

我搜索了示例,但所有示例都是标量值。

我要联系的设备是路由器,一台 Teldat 的 W2002

0 投票
1 回答
106 浏览

c++ - 与其他语言相比,如何衡量 C 的 SNMP 性能?

我正在研究打开数据集并获取服务器 ip 列表并 ping 它们的软件。熟悉这个软件包的人说,没有什么比这更快了,因为该软件是基于 C++ 构建的。无论如何,在java中重建应用程序的不足是我可以确认在围绕snmp构建应用程序时什么是最好的语言?

我知道 C 性能的问题到处都是,但我没有看到任何与 SNMP 相关的内容。当您的核心应用程序类似于 snmp 时,是否有首选的编程语言?

0 投票
1 回答
690 浏览

snmp - SNMP4J 动态索引值

我正在尝试构建一个客户端以使用 snmp4j 从启用了 snmp 的设备获取值。使用 OID 和索引号,我可以获取设备的名称和序列号。但我听说索引号不是恒定的,它一直在变化。您可能会在 SNMP OID 中找到所需的索引号(例如,网络接口的索引号),有时我们可能并不完全依赖索引号始终保持不变。

索引号可能是动态的 - 它们可能会随着时间而变化,因此您的项目可能会停止工作。

所以我需要找到一种方法来动态获取索引号。或者有什么方法可以让我在不硬编码序列号的情况下获得序列号。

一个 OID 可能有 150 个索引号,每个索引号都有不同的值。我需要从该表中获取特定信息。

0 投票
1 回答
1707 浏览

jbossfuse - java.lang.NoClassDefFoundError: javax/crypto/Cipher

我正在使用 log4j 在 JBOSS FUSE 中实现 SNMP 陷阱,不幸的是遇到了如下问题。谁能告诉我需要安装什么捆绑包/依赖项来解决这个问题

引起:java.lang.NoClassDefFoundError: javax/crypto/Cipher at org.snmp4j.security.SecurityProtocols.addDefaultProtocols(SecurityProtocols.java:152)[244:AbstractionAPI:1.0.0] at org.snmp4j.Snmp.initMessageDispatcher(Snmp .java:225)[244:AbstractionAPI:1.0.0] 在 org.snmp4j.Snmp.(Snmp.java:251)[244:AbstractionAPI:1.0.0]

原因:java.lang.ClassNotFoundException:org.ops4j.pax.logging.pax-logging-service [5] 找不到 javax.crypto.Cipher

0 投票
1 回答
1181 浏览

snmp - 使用 snmp4j-agentx 创建主代理和子代理

我在一家公司实习。我被要求找到一种在他们的一个系统中使用 java 实现 snmp 代理的方法。我试图为 java 找到一个免费的 MIB 编译器,但失败了。因此,我尝试使用 SNMP4J-agentX 库来做到这一点(因为他们特别说他们需要主代理和子代理)。我以前从未使用过它,所以我很难尝试实现它。库包中有示例主代理和子代理。我不明白如何修改它以包含我自己的 mib 文件中的变量。或者,如果有人有更简单的示例主代理或子代理代码,如果您可以分享它会非常有帮助。我只是对代理的内部工作有点熟悉。因此,如果有人可以提供帮助,请从相对基本的层面进行。许多thanx提前。

0 投票
3 回答
3491 浏览

java - 无法使用 Auth 和 Priv 发送 snmp v3 陷阱

过去几天我一直在努力使用 Auth 和 priv 短语发送 SNMPV3 陷阱。这是我的代码。

陷阱接收器

陷阱发送者

当我设置 noauthand nopriv 它工作正常。但是当我设置为 authpriv 时,我没有收到陷阱消息。当我启用调试时,甚至没有在发件人中收到任何错误。我尝试将文件复制到另一台机器并运行接收器并使用wireshark发送陷阱和监控网络,我能够找到到达目标服务器的消息,但它没有传递给接收器。我相信解密时发生了一些问题。有人可以帮帮我吗?顺便说一句,我正在使用 jdk 6 update 32。

0 投票
1 回答
4970 浏览

snmp - SNMP4J - OID 输出选项 - 十六进制字符串作为字符串

我正在使用 SNMP4J 读取带有 SNMP 的设备信息。现在我发现了一些将系统名称(OID iso.3.6.1.2.1.1.5.0)表示为十六进制字符串而不是字符串的设备。

要显示系统名称,我使用以下代码:

其中 response 是一个 PDU 对象。

如果系统名称表示为 STRING 值,则符合我的预期。当它表示为十六进制字符串时,它只打印十六进制值。

示例:
取系统名称为“SYSTEM NAME”。
使用 STRING,它会打印“系统名称”。
使用 Hex-STRING 打印“53:59:53:54:45:4d:20:4e:41:4d:45”

现在在命令行中使用 snmpwalk 我可以使用 -Oa 标志。这使得所有 Hex-STRING 值都显示为 STRING。是否可以在 SNMP4J 中使用此标志,或者是否有类似的选项?