send_v3trap 上下文值
send_v3trap context value
我正在为 net-snmp 开发共享库和子代理。我需要针对特定硬件事件发送 v3 陷阱。我想知道send_v3trapAPI的上下文值需要填什么值。
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);
}
回答我自己的问题。
"context"值可以填
- "snmpv3_get_engineID"
返回的值
- 空
只要在v3方面配置正确,即在主机和目标上指定trapsess -v3,指定net-snmp的engineid,那么一切正常。
唯一不清楚的部分是,如果有人能够在不指定 "context" 的情况下发送 v3 陷阱,在什么情况下它真的有用!
我正在为 net-snmp 开发共享库和子代理。我需要针对特定硬件事件发送 v3 陷阱。我想知道send_v3trapAPI的上下文值需要填什么值。
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);
}
回答我自己的问题。
"context"值可以填
- "snmpv3_get_engineID" 返回的值
- 空
只要在v3方面配置正确,即在主机和目标上指定trapsess -v3,指定net-snmp的engineid,那么一切正常。
唯一不清楚的部分是,如果有人能够在不指定 "context" 的情况下发送 v3 陷阱,在什么情况下它真的有用!