2011-07-16 30 views
0

我試圖從一個簡單的c程序使用net-snmp5.5進行SNMP v3 get請求。代碼如下:.NET SNMP中的snmp_synch_response()何時返回STAT_TIMEOUT?

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運行此(即我的會話=本地主機同行PARAM)。我總是獲得狀態== STAT_TIMEOUT。

但是,如果做一個snmpwalk或snmpget,爲相同的憑據/用戶,我得到一個返回值?

什麼會導致snmp_synch_response始終返回STAT_TIMEOUT? 任何幫助,非常感謝!

+0

回答我自己的問題,以防萬一有人面臨同樣的問題(花了一個月的時間傾瀉netsnmp客戶端代碼:)) – shiva

回答

1

只是回答這個問題,因爲幾乎不可能解決這個問題。

我面臨的問題是,我用於SNMPV3通信的加密庫在實現DES時遇到了一些問題。但是,它看起來像net-snmp將在通信協議中幾乎所有的錯誤都返回這個錯誤。

即,無效頭/無法解密/無法解碼ASN等將全部返回STAT_TIMEOUT(當然,包括實際的請求超時)