0

私はSharpSNMPライブラリをテストし、例を少し試してみました。ライブラリは素晴らしいですが、いくつかのドキュメントが不足しています。

私の質問は、例には何も意味がないので、トラップを聞いているコミュニティをどのように変更できるかということです。

        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();
        }
4

1 に答える 1

0

ユーザーはユーザーレジストリに追加されるため、SNMP v3メッセージ(TRAP v2またはINFORM)の場合、トラップエージェントはそれを適切に処理できます。

シナリオで他のユーザーを使用する必要がある場合は、手動で作成してからレジストリに挿入できます。

于 2013-01-03T12:51:12.257 に答える