0

我正在使用 SharpSnmp 库的 ListenerBinding 来接收 snmp-get-requests。以下方法处理传入请求并评估请求的 id:

private void HandleSnmpRequest(object sender, MessageReceivedEventArgs e)
{
    if (e.Message is GetRequestMessage getRequest){
        var messageId = e.Message.Variables().First().Id;
        ...
    }
    .....
}

只要传入的请求具有版本 1 或 2,一切都很好。如果请求具有版本 3,则e.Message.Variables()返回一个空集合。为什么“变量”集合中没有请求的 id?

4

1 回答 1

0

您收到的 v3 请求是发现消息,它当然不包含您要查找的 OID。

听起来您对 SNMP v3 不太了解,所以我建议您在继续之前找一本书并了解这些概念。

同时,处理传入请求必须遵循我在本文中记录的管道模式。

于 2018-02-01T17:23:26.347 回答