C# 接收;消息不在时间窗口中&引用;何时发送snmpv3陷阱

C# 接收;消息不在时间窗口中&引用;何时发送snmpv3陷阱,c#,snmp,sharp-snmp,C#,Snmp,Sharp Snmp,我正在尝试使用MD5Authentication和AES隐私提供程序开发snmp陷阱版本3。我在Visual Studio 2019中构建的代理,我正在尝试sharpsnmp和snmpsharpnet库。我正在使用snmpB的陷阱接收器。但我只收到“消息不在时间窗口中!USMTimeTable:检查时间失败,非权威(id)”错误。发送SNMPV3通知、SNMPV1和SNMPV2陷阱时没有问题。但是,当使用net snmp命令发送时,会收到snmpv3陷阱。我在sharpsnmp中使用的源代码是s

我正在尝试使用MD5Authentication和AES隐私提供程序开发snmp陷阱版本3。我在Visual Studio 2019中构建的代理,我正在尝试sharpsnmp和snmpsharpnet库。我正在使用snmpB的陷阱接收器。但我只收到“消息不在时间窗口中!USMTimeTable:检查时间失败,非权威(id)”错误。发送SNMPV3通知、SNMPV1和SNMPV2陷阱时没有问题。但是,当使用net snmp命令发送时,会收到snmpv3陷阱。我在sharpsnmp中使用的源代码是snmpsendtrap示例。这是因为没有在snmpB中指定引擎ID,但为什么net snmp能够捕获,如果如何配置engineID

我用于网络snmp的成功陷阱:
snmptrap-v3-e800000035c80b6a55d61-u用户名-a MD5-a 0080600080600080600060000-x AES-x 00806000806000860000本地主机“”1.3.6.1.2.1.1.0.1.3.6.1.2.2.1.0 x 0x6669727374

我的SNMP代码部分:

DiscoverAsync().Wait();
        try
        {
            if (AESPrivacyProvider.IsSupported)
            {
                var trap = new TrapV2Message(
                    VersionCode.V3,
                    528732060,
                    1905687779,
                    new OctetString("username"),
                    new ObjectIdentifier("1.3.6"),
                    0,
                    new List<Variable>(),
                    new AESPrivacyProvider(
                        new OctetString(ByteTool.Convert("00806000806000806000806000806000")),
                        new MD5AuthenticationProvider(new OctetString("00806000806000806000806000806000"))),
                    0x10000,
                    new OctetString(ByteTool.Convert("80001F8880E9630000D61FF449")),
                    0,
                    0);
                trap.Send(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 162));

            }
            else
            {
                Console.WriteLine("aes not supported");
            }
DiscoverAsync().Wait();
尝试
{
如果(AESPrivacyProvider.IsSupported)
{
var trap=新的trapv2消息(
VersionCode.V3,
528732060,
1905687779,
新的八位字符串(“用户名”),
新的目标标识符(“1.3.6”),
0,
新列表(),
新的AESPrivacyProvider(
新的八进制字符串(ByteTool.Convert(“00806000806000806000080006000806000000”),
新的MD5AuthenticationProvider(新的八进制字符串(“00806000806000806000080600000008060000806000000”)),
0x10000,
新的八进制字符串(ByteTool.Convert(“80001F8880E9630000D61FF449”),
0,
0);
trap.Send(新的IPEndPoint(IPAddress.Parse(“127.0.0.1”),162));
}
其他的
{
Console.WriteLine(“不支持aes”);
}

您必须阅读snmpB的文档,才能了解它对TRAP v3的工作原理。可以在其中找到更多提示,强调TRAP v3的工作原理与INFORM v3完全不同。@LexLi感谢您的反馈。但是,如果是snmpB配置的错误,为什么我可以通过网络snmp发送陷阱,而不是通过sharpsnmplib.Tu发送陷阱关闭隐私,然后您可以捕获和分析数据包进行比较。@nurul非及时窗口错误意味着您的计算机对权威的snmpEngineTime和snmpEngineBoots不一致,这是SNMPv3数据包安全参数的一部分。我不熟悉此库,因此无法给出确切的建议,但我不能这可能给你一个开始的地方