Net-SNMP返回类型

use*_*920 5 snmp

Net-snmp的类型很少:

i:INTEGER,u:unsigned INTEGER,t:TIMETICKS,a:IPADDRESS o:OBJID,s:STRING,x:HEX STRING,d:DECIMAL STRING U:unsigned int64,I:signed int64,F:float,D:double

有趣的是,故事并没有就此结束.例如,如果我有一个无符号的int64,我将在发送"snmpget"后收到Gauge32作为类型.我正在寻找一个表格,其中列出了所有可能的"类型字符串"(如"Gauge32"或"INTEGER"),Net-SNMP将返回该字符串以及与字符串相关联的实际类型.所以这个表有明显的条目,如:

(从snmpget返回值,类型,snmpset符号) - >("INTEGER",INTEGER,i)

如果有人知道在哪里可以找到综合列表,请发布.

Lex*_* Li 10

这不是你问题的直接答案.

在IETF上发布的SNMP RFC文档仅定义了一组有限的类型,

http://www.logmatrix.com/blog/bid/69744/Understanding-SNMP-Data-Types

它们应被视为内置类型.

在此输入图像描述

除了built-int类型之外,还有其他通过MACRO定义的派生类型,例如DisplayString等.

我创建了基于#SNMP的NET-SNMP实用程序克隆,我学到的是并非NET-SNMP手册页中的所有类型都是正确的.因此,我的snmpset克隆只处理这些类型的子集(不支持U,I,F和D),

https://github.com/lextm/sharpsnmplib/blob/master/Samples/CSharp/snmpset/Program.cs