我正在尝试使用Ruby SNMP来捕获来自各种设备的SNMP陷阱。为了测试它们,我尝试使用'snmptrap‘命令从我的笔记本电脑上发送它们。当我运行“snmptrapd”实用程序时,我可以在数据包捕获中看到陷阱正在发送和到达我的服务器(服务器是管理器)。在文档中的演示中,我使用了下面的示例代码来设置TrapListener。
require 'snmp'
require 'logger'
log = Logger.new(STDOUT)
m = SNMP::TrapListener.new do |manager|
manager.on_trap_default do |trap|
log.info trap.inspect
end
end
m.join我发送了一个SNMPv2c陷阱,但屏幕上什么都没有...
下面是我用来发送测试SMTP陷阱的命令,即使它很有用:
snmptrap -v 2c -c public hostname_goes_here SNMP-NOTIFICATION-MIB::snmpNotifyType SNMPv2-MIB::sysLocation非常感谢您的任何建议!谢谢!
发布于 2013-05-22 18:30:00
我也被困在这里很长一段时间了。事实证明,默认情况下,Traplistener仅打开127.0.0.1上的端口。要使其侦听您指定的端口(或默认端口162)上的所有接口,请指定:Host选项。'0‘使其侦听所有接口,或者您可以提供IP地址。
log = Logger.new(STDOUT)
m = SNMP::TrapListener.new(:Host => 0) do |manager|
manager.on_trap_default do |trap|
log.info trap.inspect
end
end
m.joinhttps://stackoverflow.com/questions/13655226
复制相似问题