我们在使用验证陷阱进行测试时遇到了伪造陷阱的问题。
我们有一个场景,警报陷阱之后是从路由器到 NMS 管理器的清除陷阱。这两个陷阱具有来自MIB 的表格对象的 varbind
使用验证陷阱进行测试并不能真正帮助测试真正的陷阱。
可以使用陷阱生成器伪造任何 snmp 陷阱吗?
您可以在 Linux 上使用 Net-SNMP 实用程序snmptrap
。它允许向您的 Trap 接收器发送任何类型的陷阱。
以下示例将陷阱发送到目标 10.42.23.42 并添加带有内容的字符串just now!
。SNMP 版本为2c
并且社区设置为public
。
snmptrap -v 2c -c public 10.42.23.42 '' 1.3.6.1.4.1.2636.4.5.0.1 .1.3.6.1.4.1.2636.1.2.3.4 s 'just now!'"`
如果您还需要模拟发件人 IP 地址,您可以重用这个简单的脚本,我们中的一些人不时在我们的 OpenNMS 社区中使用它来调试或模拟 SNMP 陷阱。
任何优秀的 SNMP 模拟器都可以以任何顺序生成任何您想要的陷阱,并带有任何变量绑定来测试您的应用程序。
尝试首先通过 yum 安装 net-snmp 实用程序包,这将为您提供 snmptrap 命令。确保您的 /etc/snmp/snmpd.conf 文件具有正确的目标 IP 和指向目标服务器的社区字符串集,并确保社区字符串在两者上的定义相同。然后重启 snmpd 服务然后继续发送陷阱如下 snmptrap -v 2c -c community-string host-ip/host-name
您将需要您尝试模拟的事件的 OID,通常您只能找到它们,或者您可以执行 snmpwalk 命令,我认为这将是更长的方法。