1

我正在尝试使用 net-snmp5.5 从一个简单的 c 程序发出 SNMP v3 获取请求。代码如下:

struct snmp_session session;
/* I've set all the properties, to make an SNMPv3 get */

sessionHandle = snmp_sess_open(&session);

/* setup pdu with a get request for some oid */
status = snmp_synch_response(pdu, &response);

我在与 snmpd 相同的机器上运行它(即我的会话的对等参数 = localhost)。我总是得到状态== STAT_TIMEOUT。

但是,如果对相同的凭据/用户执行 snmpwalk 或 snmpget,我会得到返回值吗?

什么会导致 snmp_synch_response 总是返回 STAT_TIMEOUT?任何帮助是极大的赞赏!

4

1 回答 1

1

只是回答这个问题,因为几乎不可能解决这个问题。

我面临的问题是,我用于 SNMPV3 通信的加密库在 DES 实现方面存在一些问题。但是,看起来 net-snmp 会针对通信协议中的几乎所有错误返回此错误。

IE。无效标头/无法解密/无法解码 ASN 等都将返回 STAT_TIMEOUT (当然,包括请求的实际超时)

于 2011-08-24T21:13:10.483 回答