send_v3trap 上下文值

Posted

技术标签:

【中文标题】send_v3trap 上下文值【英文标题】:send_v3trap context value 【发布时间】:2018-08-13 10:22:25 【问题描述】:

我正在为 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】:

回答我自己的问题。

“context”值可以用

填充
    “snmpv3_get_engineID”返回的值 空

只要在 v3 方面配置正确,即在主机和目标上指定 trapsess -v3,指定 net-snmp 的 engineid,那么一切正常。

唯一不清楚的部分是,如果有人能够在不指定“上下文”的情况下发送 v3 陷阱,在哪种情况下它真的有用!

【讨论】:

以上是关于send_v3trap 上下文值的主要内容,如果未能解决你的问题,请参考以下文章

ReactJs 上下文未更新,值始终为默认值

为啥当上下文值更新时我的上下文没有更新?

在父上下文中反应使用上下文值

单值上下文中的多个值

如何解决:上下文提供程序未将新的上下文值传递给子级

上下文 API 中的 React useState 值始终使用初始值而不是更新值