问题标签 [net-snmp]

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 投票
2 回答
9445 浏览

linux - 如何在 Linux 上使用带有 IPv6 的 net-snmp 5.5?

Linux SNMP 代理是否支持 IPv6?我正在使用 net-snmp 5.5。它适用于 IPv4 地址设置和获取操作,但使用 IPv6 地址会导致未知主机。

有什么问题,我该如何解决?

0 投票
1 回答
290 浏览

snmp - net-snmp:强制表的 xxEntry 值为 2 而不是 1

使用 net-snmp 生成的表代码mib2c -c mib2c.iterate.conf fooBarTable,然后被大量黑客攻击。

不幸的是,该表是用 2 而不是正常的 1 定义的。(我没有这样做,我试图使它适合现有情况。) MIB 看起来像这样:

当您使用 net-snmp 注册表时,您只需给它一个 OID,如“...,1,8”(即最多 fooBarTable,但不包括条目)。Net-snmp 将 .1 隐式附加到表 OID,然后是列、索引等。

是否有一种半支持的方法可以将该条目值强制为 2?(即不求助于从传递给处理程序的对象中窃取位。)

0 投票
1 回答
719 浏览

python - 从 Python 绑定中重置 net-snmp 库的所有全局内部状态

我正在尝试为这个硬件+软件测试主题创建自动化集成测试,它运行一个 SNMP 代理作为它的命令接口。我们的测试设置如下所示:我们使用 Fitnesse 作为测试运行器,使用 PyFit 能够在 Python 中编写测试。然后我们使用带有 Python 绑定的 netsnmp 来发送 SNMP 命令。这工作得很好。

但是,当我尝试运行一个套件时,SNMP 代理(测试对象)会重新启动(通常在不同的模拟时间),这会使 netsnmp 的内部得到各种有趣的错误。

事实证明,netsnmp 库中存储了很多全局状态,例如社区和上下文名称,以及有问题的 EngineTime 和 EngineBootCnt,它们用于防止 SNMP v3 中的重放攻击。这会导致代理拒绝我的 snmp 命令。

我的问题是如何以重置内部全局状态的方式重新初始化 netsnmp 库(来自 Python 绑定)?Python 绑定中的 netsnmp.Session 对象确实采用参数 EngineTime 和 EngineBoots 并将它们设置为 0 应该重置它们,但实际上它似乎没有这样做。我也不知道那里是否还有其他需要重置的全局状态。

我正处于我认为需要重写测试以使用纯 python snmp 库 pysnmp 的地步,但我希望避免它。

0 投票
1 回答
1942 浏览

net-snmp - 将 MIBS 添加到 net-snmp 后无法加载 OID

我通过以下方式将 Oracle MIB 添加到 net-snmp 中:

mibs +OR-mib 在 snmp.conf 中

#MIBS=+OR-mib在壳里

但是当我重新加载时:
#snmpwalk -v2c -c private 127.0.0.1 .1.3.6.1.4.1.111
我得到:
snmpv2-smi::enterprises.111= no such available on this agent at this OID

我该如何解决?

谢谢

0 投票
1 回答
747 浏览

net-snmp - 如何使用 net-snmp 将特定于请求的数据设置为 SNMP 代理?

我希望 SNMP 代理根据源请求者做出不同的响应,但找不到一种方法来神奇地传达一些数据以使其可被 SNMP 代理区分。

我尝试设置的是netsnmp_session结构和netsnmp_pdu结构。因为它们是 的两个参数snmp_send。我试图促进的数据字段是 myvoid 和 callback_magic。

但是很遗憾在SNMP代理上,接收到的数据都是0,这不是我在SNMP客户端上设置的。

0 投票
1 回答
313 浏览

snmp - 为我的设备构建 SNMP 支持的资源?

任何人都可以推荐资源来为我的设备添加 SNMP 支持吗?我的理解我需要做的步骤如下:

  • 创建一个 MIB 文件,定义您的 MIB 将支持的值
  • 使用代码生成器将其转换为 C 模块
  • 使用生成的代码获取真实值
  • 将模块转换为 agentx 子代理,以便您可以将 MIB 集成到一个单独的进程,该进程可以与任何支持 agentx 协议的 snmp 代理一起使用。

我的假设是否正确,任何建议或更正,我正在专门寻找对我有帮助的资源,书籍,课程,在线等......

谢谢

0 投票
3 回答
3993 浏览

perl - 我的 perl 脚本如何从托管系统接收 SNMP 陷阱?

我想做以下事情,但我不确定我是否使用了最好的方法:

在 Sparc/Solaris 10 机器上运行的 perl 脚本应该等待传入的 SNMP 陷阱数据包(例如在端口 162 上)。当它收到一个陷阱时,它应该对其进行解码并对其进行一些处理,然后继续等待下一个陷阱。

我研究过 David M. Town 的 Net::SNMP,但我认为它只允许发送请求和接收响应。我在本文档中找不到等待自发陷阱消息的方法: http ://search.cpan.org/dist/Net-SNMP/lib/Net/SNMP.pm

另一方面,Net-SNMP 包似乎是一个非常健壮且使用良好的库,但即使在那里,文档也没有为我提供清晰的路径。SNMP::TrapSession 允许我发送陷阱,但不接收它们(?)。

一些谷歌搜索让我建议我应该使用“snmptrapd”二进制文件并使用它的嵌入式 perl 函数,以便在 snmptrapd 收到消息时调用我的脚本。这可以工作,但不切实际,因为嵌入式 perl 选项需要在没有大文件支持的情况下编译的 perl 二进制文件。我不拥有目标系统,因此无法替换编译器/解释器。我可以使用专门编译的 perl 来发布我的软件,但这会给我带来我希望避免的跨平台问题。

我使用 Perl 而不是 Java 与 SNMP4J 或类似的原因是,我有以前依赖于 HP NNM 的 perl API 的旧版 perl 代码,我需要迁移到免费软件后端以消除许可证成本。

0 投票
1 回答
1017 浏览

perl - 在 Perl 中无法获得扩展的 SNMP 输出

我编写了一个 Perl 脚本来放回一些 SNMP 值,它工作正常。我现在已经在远程服务器上编写了一个脚本,并使用 SNMP 中的扩展函数脚本中的值放入 SNMP。

如果我运行:

我得到结果:

但是当我尝试使用我的脚本来获取信息时,它没有得到它。这是脚本:

但没有返回任何东西,我不知道为什么......没有错误或任何东西,我错过了什么愚蠢的东西吗?

希望有人可以提供帮助,因为这让我发疯:)

0 投票
1 回答
109 浏览

c - netsnmp_gethostbyname_v4 行为

res = netsnmp_gethostbyname_v4('0.0.0.0', pdu_in_addr_t);

资源 = ???

谢谢!

0 投票
3 回答
814 浏览

perl - 在 Perl 中调用具有不同属性的函数

我编写了一个 Perl 脚本,该脚本将启动一个 SNMP 会话并提取数据/计数器及其对 csv 文件的值。有 7 个 perl 脚本;顶部有不同的属性/定义/变量..但引擎是相同的。

此时,除了定义的变量之外,这 7 个 perl 脚本都是多余的。有没有办法将执行 perl 脚本保存为属性/执行文件并将引擎保存在另一个文件中?这个属性/执行 perl 脚本将调用引擎(使用在它自己的脚本中定义的属性)。

所以简而言之,我想在他们自己的脚本中使用变量(也作为一个执行),但是从一个统一的“引擎”调用一个特定的函数。

IE

取回_mibs1.pl 取回_mibs2.pl 取回_mibs3.pl 取回_mibs4.pl 取回_mibs5.pl 取回_mibs6.pl 取回_mibs7.pl

检索_mibs1.pl