2014-06-06 68 views
0

我不太确定在哪里提出这个问题。我一直在寻找答案,所以我会试着在这里问。SNMP VARBIND值

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

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

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

我想找到有效的门派,我可以参考这个。

+0

我不知道为什么这被搁置,我不同意这个问题是关于“推荐或找到一个工具,库或最喜爱的非现场资源“。这是一个有效的技术问题。 – Jolta

+0

@Jolta是的,我不确定,但几天后,我终于找到了我的答案。 – Tsukasa

回答

2

我已经找到了答案,我的搜索

0×04 =字节串 0×00 =长度

这其实是有效的为空,但不在GetRequest中。

RFC 3416个协议操作用于SNMP

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

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