问题标签 [snmp-trap]

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 回答
1467 浏览

c++ - WinSNMP v1 陷阱

我在 C++ 中使用 WinSNMP 来发送 snmp 陷阱。为了向后兼容,我需要发送 v1 snmp 陷阱。WinSNMP 与 v2 陷阱一起使用,但能够在发送陷阱时将这些 v2 陷阱转换为 v1。我用SnmpSetTranslateMode(SNMPAPI_UNTRANSLATED_V1)它来做到这一点。我还在绑定列表的开头添加了 sysUpTime oid (1.3.6.1.2.1.1.3.0)、snmpTrapOID (1.3.6.1.6.3.1.1.4.1.0) 和 enterpriseOID (1.3.6.1.6.3. 1.1.4.3.0) 在绑定列表的末尾,以便可以发送 v1 陷阱。

除了两个(可能相关的)事情之外,一切都很好。

陷阱中的 agent-addr字段始终为 0.0.0.0(我尝试将 snmpTrapAddress oid(1.3.6.1.6.3.18.1.3.0) 添加到绑定列表,但没有奏效)。我希望此字段包含源的 IP 地址。

HSNMP_ENTITY第二个问题是,尽管我在with SnmpStrToEntityand中指定了一个 IP 地址和一个端口,SnmpSetPort并且我HSNMP_ENTITYSnmpSendMsg函数中使用了它,但陷阱仍然从另一个端口(在动态端口范围内的某个位置)发送。

这里有没有人知道如何解决这个问题,或者谁能告诉我这是否可能?

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

c# - .NET 中的自定义 SNMP 陷阱实现

我需要使用 SNMP(在 .NET 中)创建一个监控机制。我认为我们将使用nsoftware 组件来处理大部分工作。

看来我们必须使用“陷阱”从代理到服务器进行通信。我们将有许多不同的陷阱和详细说明每个陷阱的各种信息。实施自定义陷阱的最佳方法是什么?也就是说,不仅发送陷阱,而且将描述陷阱的信息发送给我们的“snmp 管理器”,最好的方法是什么?我认为这是通过“变量绑定”完成的。要使用“变量绑定”,我们是否需要创建自己的“企业编号”并使用“企业特定”陷阱?我们应该实现我们自己的自定义 MIB,还是可以只使用陷阱发送我们需要的数据(通过变量绑定)?

0 投票
1 回答
920 浏览

perl - 如何在 Perl 中监视陷阱警报?

什么是 perl 中最简单的代码来监控来自任何设备(如 UPS、整流器、空调等)的陷阱。例如,我们要监控温度、服务器机房湿度、空调水平等。每个设备(如 UPS)内部都有 SNMP 卡和然后我们把陷阱服务器的IP地址放出来。目前我正在使用 snmptt 开放软件应用程序。

0 投票
5 回答
34037 浏览

java - 在 Java 中发送陷阱 v2

如何从 Java 应用程序发送 snmpv2 陷阱。我试图在 snmp4j 上做例子,但它没有用。

0 投票
4 回答
6065 浏览

php - 使用 PHP 生成 SNMP 陷阱

我正在拼命寻找一种从 PHP 生成 SNMP 陷阱的方法。我知道使用 snmpget 的内置方法,但我无法弄清楚如何发送 SNMP 陷阱。

有人知道它的类/代码片段吗?除了使用 exec 调用 cli 工具之外,搜索网络并没有带来任何东西,这对我来说绝对是没有选择的。

我怀疑有必要使用 socket_create 和相应的功能来手动生成 UDP 包......

0 投票
1 回答
1425 浏览

java - 试图了解报警和报警报告控制管理信息库的用途

我是 SNMP 新手,无法理解我需要实现的 Java 应用程序的 SNMP 要求。我正在使用openDMK来提供 SNMP 支持。请原谅我的问题中的任何残酷无知。我已经阅读了 RFC 规范,但大部分文本对我来说似乎都是胡言乱语。

一项要求是“SNMP 支持必须符合Alarm MIB (RFC 3877) ”。

  • 这是什么意思?
  • 警报 MIB 有什么用途?
  • 这与 SNMP 陷阱/通知有关吗?阅读 RFC 规范,我感觉这是关于我的应用程序需要发送给管理器的 SNMP 通知/陷阱,以防发生不良情况(例如超过阈值)。如果是这样,我仍然不明白我到底需要对这个要求做什么。
    • 我将需要定义我自己的应用程序的 SNMP 陷阱定义(即不使用通用的)。现在我需要支持警报 MIB,我的 MIB 会有什么不同?
    • 是不是除了发送通知之外,我还需要将该通知存储在警报表中?如果是这样,这样做的目的是什么?
  • 以下是 openDMK 库中用于发送 SNMPv2 陷阱的方法:

    公共无效 snmpV2Trap(SnmpOid trapOid,SnmpVarBindList varBindList)

    我对如何使用此方法的理解trapOid将参考我的应用程序 MIB 中通知的 OID 以及varBindList要发送的任何附加参数。那么,Alarm MIB 如何/在哪里适合这个?

另一个要求是“SNMP 支持必须符合警报报告控制 MIB (RFC 3878) ”。

  • 这是什么意思?
  • 警报报告控制 MIB 有什么用途?
  • 与 SNMP 陷阱/通知有任何关系吗?
0 投票
1 回答
3141 浏览

c++ - Manager 无法识别 SNMP 陷阱

我正在尝试使用 Microsoft 的 WinSNMP 库创建一个示例应用程序来创建一个陷阱示例。请参阅下面的代码示例:

我可以看到陷阱正在连接并被接收,但不幸的是 SNMP 管理器没有通知我陷阱。我有一种很好的感觉,问题是与我这边形成的陷阱有关,不是与管理器(SNMPc管理器)有问题吗?

这是我使用虚拟 OID 创建的自定义 MIB:

此外,我还有一个指向捕获 Trap的Wireshark 转储的链接。

SNMPc 管理器允许我使用一个小工具发送虚拟陷阱;但是,这些陷阱是 SNMPv2,而 WinSNMP 使用的是 v1,所以我很难比较。任何建议将不胜感激。

0 投票
2 回答
4988 浏览

c# - C# Snmp 陷阱发送器

我想开发一个 snmp 陷阱发送器程序。以前我开发了一个 Windows 服务项目。我希望该陷阱向我发送有关此服务的报告。这可能吗?我应该遵循哪些方式?

0 投票
2 回答
1901 浏览

windows - SNMP 陷阱到 IPv6 地址

有人知道可以将 SNMP 陷阱发送到 IPv6 地址的(Windows)实用程序吗?

我已经尝试过trapgen,但它似乎无法使用 IPv6 地址。还有 net-snmp windows 端口,但是用它来发送陷阱真的很痛苦。对我来说,它根本不起作用。它总是因“找不到模块(TRAP-TEST-MIB):”而失败。

谢谢。