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)
如果有人知道在哪里可以找到综合列表,请发帖。
答案 0 :(得分: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