我不确定在哪里提出这个问题。我一直在寻找答案,所以我会在这里问一下。
我们有一个通过SNMP与我们的设备通信的应用程序。 我们的GET消息正在触发IPS / IDS系统警报,因为Varbind值中的值为0x04。
开发人员告诉我,0x04表示空,但我找不到任何可以说这是真的。在Wireshark跟踪中,这显示为无效。
现在当我让他们测试在GET中将值切换到0x05时,IPS / IDS系统停止抛出警报,因为0x05是NULL。
我想找到有效的武术,我可以参考。
答案 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