2013-01-03 28 views
0

我正在测试SharpSNMP库,并在示例中播放了一下,库很棒,但缺少一些文档。我如何更改SNMPEngine中的陷阱社区示例

我的问题是我怎样才能改变社区,我正在听陷阱,因为没有在例子让我感觉。

 if (args.Length != 0) 
     { 
      return; 
     } 

     Container = new UnityContainer().LoadConfiguration("snmptrapd"); 
     var users = Container.Resolve<UserRegistry>(); 
     users.Add(new OctetString("neither"), DefaultPrivacyProvider.DefaultPair); 
     users.Add(new OctetString("authen"), new DefaultPrivacyProvider(new MD5AuthenticationProvider(new OctetString("authentication")))); 
     users.Add(new OctetString("privacy"), new DESPrivacyProvider(new OctetString("privacyphrase"), 
                    new MD5AuthenticationProvider(new OctetString("authentication")))); 

     var trapv1 = Container.Resolve<TrapV1MessageHandler>("TrapV1Handler"); 
     trapv1.MessageReceived += WatcherTrapV1Received; 
     var trapv2 = Container.Resolve<TrapV2MessageHandler>("TrapV2Handler"); 
     trapv2.MessageReceived += WatcherTrapV2Received; 
     var inform = Container.Resolve<InformRequestMessageHandler>("InformHandler"); 
     inform.MessageReceived += WatcherInformRequestReceived; 
     using(var engine = Container.Resolve<SnmpEngine>()) 
     { 
      engine.Listener.AddBinding(new IPEndPoint(IPAddress.Any, 162)); 
      engine.Start(); 
      Console.WriteLine("#SNMP is available at http://sharpsnmplib.codeplex.com"); 
      Console.WriteLine("Press any key to stop . . . "); 
      Console.Read(); 
      engine.Stop(); 
     } 

回答

0

用户被添加到用户注册表,以便如果一个SNMP v3消息(TRAP v2或INFORM)的捕集剂可以正确处理。

如果在您的场景中需要使用其他用户,则可以手动创建它们,然后插入到注册表中。

+0

非常感谢:) – Rafael