1

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

どんな提案でも大歓迎です!ありがとう!

4

1 に答える 1

0

私も長い間これに引っかかっていました。デフォルトでは、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.join
于 2013-05-22T10:30:00.320 に答える