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的主要内容,如果未能解决你的问题,请参考以下文章

send_v3trap 上下文值

snmp的engineid可以修改吗

pysnmp 自定义MIB编写SNMP代理 (python 开发 snmp)

阿里云图数据库GDB V3引擎发布,加速开启“图智”未来

更权威的大数据搜索引擎

网站权重