问题标签 [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 回答
5588 浏览

perl - 为什么 Net::SNMP 试图加载错误的 libnetsnmp.so?

我创建了一个 Perl 脚本并在几台运行Net::SNMP 5.3.1-19 的服务器上对其进行了测试,但现在我试图在另一台服务器上运行它,但出现以下错误:

为什么加载程序抱怨libnetsnmp.so.15?我在所有其他服务器上都安装了libnetsnmp.so.10,它工作得很好。符号链接指向相同的版本 (10),而不是 15。对于更高版本的Net::SNMP (5.4.2.1) 不是必需的吗?

当所有的 snmp 包都相同时,为什么要尝试在此服务器中使用更新版本的动态库?

我注意到别的东西。有 2 组default_store.so库。

工作正常的机器只有vendor_perl机器,这是随 RPM 一起安装的。两者(供应商和基地)有什么区别?如何强制 perl 使用vendor_perl中的附加组件?

0 投票
1 回答
924 浏览

c++ - 使用 C++ 的 Net-SNMP 变量

我在使用 Net-SNMP 库提供的一些变量时遇到问题,特别是捕获输入/输出八位字节的能力。

In/OutOctets 问题:我对 ASN_INTEGER 进行了另一次检查,并且我发现了这个 oid,输出似乎不正确。我正在使用 *vars->val.integer 并将其推入 long 但我目前得到负数所以我试图将其推入 double 但输出的值与附加的实际值完全不同样的。

有没有其他人有这个问题,如果有,你能提供一些见解吗?

提前致谢。

0 投票
3 回答
7593 浏览

perl - 如何解析 Perl 中的原始 SNMP 陷阱?

几周前,我为我们的操作组编写了一个 SNMP 中继器。他们有一些只能向单个 IP 发送陷阱的愚蠢设备,我们有一个监控系统,可以监听多个 IP 的可用性。代码非常简单,本质上是:

基本上它是有效的,但现在它不包括发起者 IP 的明显缺点是一个问题(显然第一类设备包含作为 varbind 的信息,而一些新类不包含)。

我想做的是将我的代码更改为以下内容:

换句话说,如果我的发件人不包括 snmpTrapAddress,请添加它。问题是我为 Perl 查看的每个 SNMP 包似乎都非常关注接收陷阱和执行获取的基础设施。

所以:是否有一个简单的 Perl 模块可以让我说“这是一个代表 snmp 陷阱的数据块。将其解码为我可以轻松操作的东西,然后将其重新编译回我可以通过网络抛出的 blob”?

如果您给出的答案是“使用 SNMP dummy”,您能否提供这方面的示例?我可能只是瞎了眼,但是从perldoc SNMP的输出来看,如何以这种方式使用它对我来说并不明显。

编辑:

环顾四周后发现,“SNMP 编码”实际上是 ASN.1 BER(基本编码规则)。基于此,我正在尝试使用 Convert::BER。我仍然欢迎任何简单的 SNMP 分解/编辑/重建技巧。

0 投票
2 回答
2383 浏览

java - 如何在 OS X 上接收 SNMP 陷阱?

我需要接收和解析一些 SNMP 陷阱(消息),我将不胜感激有关获取我在我的 OS X 机器上工作的代码的任何建议。我得到了一些使用 net-snmp 在 Windows 上运行的 Java 代码。我想让 Java 代码在我的开发机器上运行,或者编写一些 Python 代码来做同样的事情。

我能够在我的 OS X 机器上编译 Java 代码,并且它运行时没有任何抱怨,包括如果它无法绑定到套接字 8255 时我期望抛出的任何异常。但是,它从不报告收到任何SNMP 陷阱,这让我怀疑它是否真的能够在套接字上读取。下面是我收集到的绑定到套接字的 Java 程序的代码:

由于我不了解 Java 并且喜欢使用 Python,因此我通过安装libsnmpeasy_install尝试使其正常工作。示例程序彼此交谈没有问题,但如果我运行traplistener.py等待自己的 SNMP 信号,我再次无法接收任何内容。我应该注意,我必须通过运行 python 程序才能获得访问套接字的权限。通过 sudo 运行 java 程序没有任何效果。trapsender.pytraplistener.pysudo

所有这一切让我怀疑这两个程序都存在 OS X 及其套接字的问题,也许是它们的权限。例如,我必须更改/dev/bpf设备上的权限才能使 Wireshark 正常工作。另一个想法是,这与我的机器启用了多个网络适配器有关,包括 eth0(以太网,由于 Wireshark,我在其中看到了陷阱消息)和 eth1(wifi)。这可能是问题吗?

如您所见,我对套接字或 SNMP 知之甚少,因此非常感谢任何帮助!

更新:使用lsofsudo lsof -i -n -P确切地说)似乎我的问题是当陷阱发送者使用 IPv4 时,java 程序仅在 IPv6 上侦听。我尝试禁用 IPv6(sudo ip6 -x)并告诉 java 使用 IPv4(java -jar bridge.jar -Djava.net.preferIPv4Stack=true),但我一直在使用 IPv6 找到我的程序。有什么想法吗?

更新 2:好的,我想我的 java 参数顺序错误:java -Djava.net.preferIPv4Stack=true -jar bridge.jar将程序放在 IPv4 上。但是,我的程序仍然没有显示接收到我知道的数据包的迹象。

0 投票
1 回答
642 浏览

java - 如何使用 SNMP 监控 JVM 和应用程序

我知道可以使用 SNMP 管理 JVM,并且 JVM 支持 JVM-MANAGEMENT-MIB。

有没有办法对与 JVM 关联的 SNMP 代理功能进行编程/扩展?

有没有办法向 JVM 上的 SNMP 代理添加对任何其他专有/标准 MIB 的支持,这样我就可以允许我在 JVM 上运行的应用程序被外部管理应用程序监控,而无需使用第三方 SNMP 代理图书馆?

0 投票
1 回答
2027 浏览

windows - 帮助查找适用于 Windows 的 SNMP ODI

我正在一些 Windows 基础架构上设置一些监控,并且在定位我所追求的 ODI 时遇到问题。实际上,我需要的是以下 ODI

1) CPU 利用率百分比(已使用或空闲)。

2) 磁盘空闲

3) 可用内存百分比(或字节)

我正在 XP 上进行测试,但将部署到 2003/2008。

0 投票
3 回答
4862 浏览

c - Net-SNMP API 的参考?

我目前正在使用 net-snmp 为一些内部硬件开发一个监控应用程序。在调用我的代码段错误时,我的代码有些工作snmp_pdu_free()。我正在创建 pdu 结构snmp_create_pdu()。我想要一个 API 参考,看看我是否真的正确地编写了我的代码,但我一直找不到。我发现的最好的东西是 net-snmp 网站上的教程,但它们对于在我调试时确定我的代码是否正确没有多大帮助。

0 投票
2 回答
1802 浏览

javascript - 如何将 SNMP 陷阱发送到不同的 IP

我有 SNMP 陷阱的 ASCII 消息,如何将其发送到不同的 IP 地址?我不想改用电子邮件。给定接收方机器的 IP 地址和端口。

请告诉我解决方案或至少在哪里可以获得对命令的引用。因为我能找到任何关于它的东西。

请...希望有人可以帮助我..

非常感谢您。

问候,

扣篮

0 投票
2 回答
995 浏览

snmp - SNMP 陷阱中的子 OID 是什么?

我继承了 MIB 和示例文档,需要重新实现生成陷阱的代码。(由于各种原因,原始代码丢失并永远消失了,但 CM 不是我的问题。)

MIB 说:

我们的文档有以下片段:

我想不通的是用于警报调度时间的 OID。如果它是 [our-base-oid].1.3.0,甚至是 [our-base-oid].2.4.0.[our-base-oid].1.3,我会理解的。如果我们在 { alertEvents 3 } 处生成陷阱,单个对象的后缀是什么?

MIB 可能是在文档发布后更新的,所以如果专家认为这是错误的,那么 alertDispatchTime 的 OID 应该是什么?

谢谢。

0 投票
3 回答
5096 浏览

php - 让 PHP 站点将 SNMP 信息发送到网络管理应用程序

我正在尝试让 PHP 网站通过 SNMP 发送信息。我一直在阅读有关 SNMP 的分配,但我仍然对从哪里开始一无所知。

我相信我需要使用我的网站将用来发送信息的所有 OID 创建一个 MIB。这个对吗?我如何以及在哪里可以定义这些变量 (OID)?有人可以指出我正确的方向吗?

我在服务器上使用 FreeBSD。

提前致谢。