我有一台发送 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都是相同的。所以,它运作得很好。
如果我想在conf文件中提及引擎ID,该怎么办?
如何在snmptrapd.conf文件中将权威引擎ID作为十六进制数??它预示着文本字符串。如果我有不可打印的字符怎么办?
感谢耐心阅读: - )
答案 0 :(得分:0)
我认为(安全性)引擎ID为-3e,上下文引擎ID为-3E应该为snmptrapd.conf提供技巧。我在snmplib / snmpv3.c:150中的net-snmp源代码中找到了这些,以供参考,不确定它们是否已记录在案。
我认为这就是你所要求的?如果snmptrapd行为不正确,您可能需要使用net-snmp源并逐步执行操作。