send_v3trap上下文值

时间:2018-08-13 10:22:26

标签: net-snmp snmptrapd

我正在为net-snmp开发共享库和子代理。我需要为特定的硬件事件发送v3陷阱。我想知道send_v3trap API的上下文值中需要填充什么值。

void send_v3trap(netsnmp_variable_list * vars,const char * context )    

此上下文值是否与用户定义的引擎ID相同?即需要在snmptrapd.conf中进行如下配置?

createUser -e ENGINEID myuser SHA "my authentication pass" AES "my encryption pass"

有关在此link中进行配置的更多信息

有一个示例源代码可用于发送 v2traps

通过查看net-snmp源代码,send_v3trap在内部调用send_v2trap,最终,

/* A context name was provided, so copy it and its length to the v2 pdu
     * template. */
if (context != NULL)
    {
        template_v2pdu->contextName    = strdup(context);
        template_v2pdu->contextNameLen = strlen(context);
    }

1 个答案:

答案 0 :(得分:0)

回答我自己的问题。

“上下文”值可以用

填充
  1. “ snmpv3_get_engineID”返回的值
  2. NULL

只要就v3而言配置正确,即在主机和目标上指定的陷阱-v3,则指定net-snmp的engineid,则一切正常。

唯一不清楚的是,如果某人能够发送v3陷阱而未指定“上下文”,那么在哪种情况下确实有用!