snmp v3 中的权威引擎 ID 和上下文引擎 ID
Posted
技术标签:
【中文标题】snmp v3 中的权威引擎 ID 和上下文引擎 ID【英文标题】:Authoritative engine Id and context engine id in snmp v3 【发布时间】:2013-03-22 12:08:44 【问题描述】:我有一台发送 snmpinform 的客户端计算机。 在另一台机器上,我正在运行 snmptrapd 服务器。
我想明确提及上下文引擎 ID 和权威引擎 ID。
发送命令时,我可以使用 -e 作为权威引擎 ID,-E 作为上下文引擎 ID。
但是,问题是如何在 snmptrad.conf 中提及这些值
snmptrapd.conf 的片段是
createUser -e 0x000006D70000000000000000 FMS
authUser log,execute,net FMS noauth
engineID 000006D7C0A800C800000000
我的 snmpinform 命令是:
snmpinform -v 3 -d -n "" -l noAuthNoPriv -u FMS -E 0x000006D70000000000000000 -e 80001f8804303030303036443743304138303043383030303030303030 192.168.0.200 162 1.3.6.1.4.1.1751.2.119.1.1.1.0
输出超时(出现错误消息)。对 wireshark 的进一步调查显示,在报告中它提供了具有相同值的权威引擎和上下文引擎 ID。
我确实尝试了几种解决方法,但没有任何用处
发送 snmpinform 时未提供 -e 选项。它确实发现了权威引擎 ID 并且输出仍然相同(错误消息和超时)
没有给出 -E 选项。 snmpinform:未知用户名
obv:这似乎是完全不同的行为。它能够正确解码上下文引擎 id 并能够识别用户名。但是,报告与不同 上下文引擎 ID。
在创建用户时没有给出 -e 选项,在发送时只给出了 -e(权威引擎 ID)。然后它完美地工作了。
obv:权威引擎 ID 和上下文引擎 ID 相同。所以,它工作得很好。
如果我想在 conf 文件中同时提及两个引擎 ID,该怎么办?
如何将 snmptrapd.conf 文件中的权威引擎 ID 作为十六进制数字提供?它需要文本字符串。如果我有不可打印的字符怎么办。
感谢您的耐心阅读:-)
【问题讨论】:
【参考方案1】:我认为(安全)引擎 ID 的 -3e 和上下文引擎 ID 的 -3E 应该可以解决 snmptrapd.conf 的问题。我在 snmplib/snmpv3.c:150 的 net-snmp 源代码中找到了这些以供参考,不确定它们是否已记录在案。
我想这就是你想要的?如果 snmptrapd 行为不正确,您可能需要使用 net-snmp 源代码并逐步完成。
【讨论】:
以上是关于snmp v3 中的权威引擎 ID 和上下文引擎 ID的主要内容,如果未能解决你的问题,请参考以下文章