SNMPGET(SNMPWALK)获取错误的数据类型HEX-STRING

时间:2013-12-06 08:49:25

标签: snmp

在mib文件中,我将一个属性定义为DisplayString。在我的测试用例中,我设置此属性的值为null。所以我认为输出是“”,而不是HEX-STRING:01。同时,其他行的同一列是“”。谁可以帮助我,提前谢谢你。

例如:

SNMPv2-SMI::enterprises.2.3.51.3.1.14.7.1.4.1 = ""
SNMPv2-SMI::enterprises.2.3.51.3.1.14.7.1.4.2 = Hex-STRING: 01 
SNMPv2-SMI::enterprises.2.3.51.3.1.14.7.1.4.3 = ""
SNMPv2-SMI::enterprises.2.3.51.3.1.14.7.1.4.4 = Hex-STRING: 01 
SNMPv2-SMI::enterprises.2.3.51.3.1.14.7.1.4.5 = ""
SNMPv2-SMI::enterprises.2.3.51.3.1.14.7.1.4.6 = Hex-STRING: 01

我设置的这一列的所有值都为空。

1 个答案:

答案 0 :(得分:0)

如果值为十六进制字符串'01'并且您尝试返回零长度字符串(“”),则表示您未正确设置返回长度。您需要正确设置两个数据(在这种情况下,数据可以是指向不包含任何内容的字符串的指针)和长度,需要将其设置为0.对于您问题中的某些数据,您需要将数据长度重新设置为1。

请记住,SNMP旨在传递任何类型的字节流,包括中间(或更多)具有“0”字节的字节流。因此,您不能使用以NULL结尾的字符串,并且必须返回字符串的真实长度,因为您可能希望实际返回0x65 0x00 0x65,这对于以NULL结尾的字符串是不可能的,除非您可以将长度设置为3。