SNMP VARBIND值

时间:2014-06-06 15:34:02

标签: c# snmp net-snmp sharp-snmp

我不确定在哪里提出这个问题。我一直在寻找答案,所以我会在这里问一下。

我们有一个通过SNMP与我们的设备通信的应用程序。 我们的GET消息正在触发IPS / IDS系统警报,因为Varbind值中的值为0x04。

开发人员告诉我,0x04表示空,但我找不到任何可以说这是真的。在Wireshark跟踪中,这显示为无效。

现在当我让他们测试在GET中将值切换到0x05时,IPS / IDS系统停止抛出警报,因为0x05是NULL。

我想找到有效的武术,我可以参考。

2 个答案:

答案 0 :(得分:2)

我找到了我的搜索答案

0x04 =八位字符串 0x00 =长度

这实际上是空的,但在GetRequest中没有。

SNMP的RFC 3416协议操作

PDU处理 “在下面的过程元素中,PDU的任何字段都不是 接收SNMP忽略相关过程引用的内容 实体。但是,PDU的所有组件,包括那些组件 接收SNMP实体忽略值,必须有效 ASN.1语法和编码。例如,一些PDU(例如, GetRequest-PDU)只关注变量的名称和 不是它的价值。在这种情况下,变量的值部分 绑定被接收SNMP实体忽略。未指定 定义的值用作此类绑定的值部分。“

unSpecified值被定义为用作PDU中的值部分(例如,GetRequest-PDU),其仅涉及变量的名称而不是其值。 名称是OID。 该值是包含0x04 0x00的字段。 GetRequest-PDU必须使用0x05 0x00(NULL,unSpecified的定义)

答案 1 :(得分:0)

您是否查看了RFC for SNMP

http://www.ietf.org/rfc/rfc1157.txt