Python中的snmpset
我正在使用Python向一个SNMP代理发送snmpset消息。我有正确的OID,因为我可以用snmpget获取数据。但是,它却无法设置数据。我发送的是十六进制格式的八位字节(两个十六进制值),用冒号分隔。我可能需要在它周围加上引号,对吧?下面是我发送的命令示例:
foo = os.popen("snmpset -v 2c -c private 192.1.55.222 .1.2.6.5.4.1.24022.4.27.1.6.4.4 x 00:00:04:cf:00:00:00:00:00:00")
如你所见,我正在发送一个类型为x的八位字节字符串。
有没有人能猜一下我应该如何传递设置值"00:00:04:cf:00:00:00:00:00:00
"?我知道这个设置值的长度和类型是正确的,因为我在MIB浏览器中使用过它。
1 个回答
0
有几点需要注意:
1) 你可以使用Python自带的接口,而不是调用系统命令。其实有好几种选择,比如pysnmp(用Python写的)和Net-SNMP的Python模块(用C写的)。
2) Net-SNMP的snmpset
命令需要的是纯十六进制代码,不要有冒号。所以如果你去掉冒号,可能就能正常工作了。