列出的Net-SNMP工具的可用debugging令牌在哪里?

snmpcmd(1) ,在“Generic Options”下面,

  -D[TOKEN[,...]] Turn on debugging output for the given TOKEN(s). Try ALL for extremely verbose output. 

除了ALL之外,我还可以使用什么标记? 这些令牌是什么意思? 这些工具是非常自由的,他们会接受什么样的标记。

 $ snmpgetnext -Dserverfault_is_awesome [...] registered debug token serverfault_is_awesome, 1 [...] 

到目前为止我发现的最好的事情就是讨论v5.4.2.1的wiki页面 ,但是它没有解决列举对当前安装的版本(在我的情况下为5.7.2)有效的debugging令牌的一般问题。

代码本身并不维护可用令牌的列表,MIB开发人员可以自由定义自己的令牌。 所以是的,图书馆将接受任何string作为标记。

由于没有内部列表,因此无法在运行时报告可用的令牌。 你所能做的就是下载源代码并运行wiki上build议的命令(我刚刚修改了一下):

 find . -name "*.c" | xargs grep "DEBUGMSG[A-Z_]*(( *\"" | sed 's/^.*DEBUGMSG[A-Z_]*(( *\"\([^\"]*\).*/\1/' | sort -u 

我还添加了一个新的wiki页面,其中列出了一些更有用的令牌,以及一个新的5.7.2页面的页面: