NETSNMP不会在“之后更新EngineTime”;SNMP不在时间窗口内”中;错误,如何手动重置内部NETSNMP SSL结构?

NETSNMP不会在“之后更新EngineTime”;SNMP不在时间窗口内”中;错误,如何手动重置内部NETSNMP SSL结构?,snmp,net-snmp,Snmp,Net Snmp,我使用NETSNMP库使用SNMPv3和身份验证从路由器请求数据。如果重置路由器,则会重置NETSNMP库无法识别的内部EngineTime。这会导致路由器在后续调用中引发身份验证失败 是否有任何对NETSNMP的api调用来手动重置内部结构,以便发出新的请求 我将每个呼叫都包含在snmp sess open/close中,因此没有打开的会话。如果您在路由器上进行硬重置,您将遇到麻烦。当路由器重新启动时,SNMPv3规范要求SNMPingineBoots计数器递增,SNMPingineTime重

我使用NETSNMP库使用SNMPv3和身份验证从路由器请求数据。如果重置路由器,则会重置NETSNMP库无法识别的内部EngineTime。这会导致路由器在后续调用中引发身份验证失败

是否有任何对NETSNMP的api调用来手动重置内部结构,以便发出新的请求


我将每个呼叫都包含在snmp sess open/close中,因此没有打开的会话。

如果您在路由器上进行硬重置,您将遇到麻烦。当路由器重新启动时,SNMPv3规范要求SNMPingineBoots计数器递增,SNMPingineTime重置为0。如果您的设备重新启动时snmpingineboots值没有增加(即,它始终为0或1),则是的,运行的管理器将看到问题,因为设备报告它在时间上向后移动

如果您真的想忽略这样做的安全问题,您可以随时调用:

int             set_enginetime(const u_char * engineID, u_int engineID_len,
                               u_int engine_boot, u_int engine_time,
                               u_int authenticated);
但是你必须明白,一旦你这么做,你就是在为自己设置重播攻击。因此,不要让您的设备在snmpEngineBoots值不增加的情况下重置,否则,请更改其snmpEngineID