1

net-snmp5.5 を使用して単純な C プログラムから SNMP v3 get 要求を作成しようとしています。コードは次のとおりです。

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 がこのエラーを返すようです。

すなわち。無効なヘッダー/復号化できない/ASN をデコードできないなどはすべて STAT_TIMEOUT を返します (もちろん、リクエストの実際のタイムアウトを含みます)

于 2011-08-24T21:13:10.483 に答える