0

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

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

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

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

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

4

2 回答 2

2

我找到了我的搜索的答案

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

这实际上是空的,但在 GetRequest 中无效。

RFC 3416 SNMP 协议操作

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

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

于 2014-06-06T19:25:32.170 回答
0

你检查过 RFC 的 SNMP

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

于 2014-06-06T17:54:48.677 回答