SNMP:为什么SET请求也执行GET请求?

SNMP:为什么SET请求也执行GET请求?,snmp,net-snmp,snmpd,Snmp,Net Snmp,Snmpd,我正在尝试构建自己的SNMP代理(在Solaris 10.0上),并在snmpd.conf中添加了一行: pass .1.3.6.1.4.1.xxxx /home/snmp/snmp_agent.bash 对于测试,bash脚本所做的唯一事情就是将当前时间和参数写入日志文件。 现在,当我使用net snmp执行SET请求时,通过: snmpset -v1 -c public node 1.3.6.1.4.1.1590.xxxx.1 i 1 我注意到日志文件中有两行。一个参数是-g(表

我正在尝试构建自己的SNMP代理(在Solaris 10.0上),并在snmpd.conf中添加了一行:

pass .1.3.6.1.4.1.xxxx    /home/snmp/snmp_agent.bash
对于测试,bash脚本所做的唯一事情就是将当前时间和参数写入日志文件。 现在,当我使用net snmp执行SET请求时,通过:

 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时出错


我在internet上查看了这个问题(或者可能不是问题),但找不到任何东西。

我相信Net SNMP代理的内部功能只是为了传递脚本。例如,这是使用“pass”扩展的要求,与“在线”发生的事情无关。

您的意思是“pass”选项负责将SET请求拆分为两个单独的脚本调用吗?它似乎确实是这样发生的,但我不明白它的用途。有没有办法避免这种“功能”?谢谢