2013-08-16 88 views
2

我試圖建立自己的SNMP代理(在Solaris 10.0),並添加了一行到我的snmpd.conf中:SNMP:爲什麼SET請求也執行GET請求?

pass .1.3.6.1.4.1.xxxx /home/snmp/snmp_agent.bash 

爲了進行測試,在bash腳本做的唯一事情,就是寫當前時間和參數到日誌文件。 現在,當我使用net-snmp的執行一組請求,通過:

snmpset -v1 -c public node 1.3.6.1.4.1.1590.xxxx.1 i 1 

我注意到在日誌文件中的兩行。一個帶有參數-g(這意味着一個GET),另一個帶有-s(意味着一個SET)。爲什麼我用-g得到那個,我怎麼能擺脫它?

這很煩人,我因爲在我的MIB,我有一些OID都MAX-ACCESS = write-only,代理人給試圖讀取該OID時出錯。

我看了網上關於這個問題(也許它不是一個問題),但沒有發現任何東西。

回答

0

我相信Net-SNMP代理的內部工作只會傳遞腳本。 EG,這是使用「傳遞」擴展的要求,與「在線」上發生的事情無關。

+0

您的意思是「傳遞」選項負責將SET請求分成兩個獨立的腳本調用?這似乎確實發生了這種情況,但我不明白它的用途。有沒有辦法避免這個「功能」?謝謝! – Gijsbert