python中的snmpset

python中的snmpset,python,snmp,Python,Snmp,我正在使用python向snmp代理发送snmpset消息。我有正确的OID,因为我可以使用它通过snmpget获取数据。但是,它不会设置数据。我发送十六进制格式的八位字节(两个十六进制值),用冒号分隔。我可能需要在它周围加上撇号,对吗?这是我正在发送的线路的示例 foo=os.popen(“snmpset-v2c-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) 如您所见,我

我正在使用python向snmp代理发送snmpset消息。我有正确的OID,因为我可以使用它通过snmpget获取数据。但是,它不会设置数据。我发送十六进制格式的八位字节(两个十六进制值),用冒号分隔。我可能需要在它周围加上撇号,对吗?这是我正在发送的线路的示例

foo=os.popen(“snmpset-v2c-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)

如您所见,我正在发送类型为x的八位字节字符串

谁能猜一猜我应该如何传入设置值“
00:00:04:cf:00:00:00:00
”。我知道setvalue的长度和类型正确,因为我在MIB浏览器中使用过它。

有几件事:

1) 您可以使用本机python接口来代替调用系统命令。实际上有多种选择,包括pysnmp(用python完成)和

2) Net SNMP
snmpset
命令要求使用不带任何:s的直接十六进制代码。因此,如果删除:s,您可能会发现它会起作用。

以下几点:

1) 您可以使用本机python接口来代替调用系统命令。实际上有多种选择,包括pysnmp(用python完成)和


2) Net SNMP
snmpset
命令要求使用不带任何:s的直接十六进制代码。因此,如果删除:s,您可能会发现它会工作。

foo=os.popen…
是从您的程序复制的实际代码吗?我无法想象这是如何工作的,不是从SNMP(我对它一无所知),而是从Python的角度。你能澄清一下你遇到了什么样的错误(或其他问题)吗?嘿,Helgi,这是实际的代码,但我可以看到有错误:我正在传递一个字符串。让我来编辑。该语法是正确的,因为此代码用于成功设置其他属性。就是这个长的十六进制字符串不起作用。
foo=os.popen…
是从您的程序复制的实际代码吗?我无法想象这是如何工作的,不是从SNMP(我对它一无所知),而是从Python的角度。你能澄清一下你遇到了什么样的错误(或其他问题)吗?嘿,Helgi,这是实际的代码,但我可以看到有错误:我正在传递一个字符串。让我来编辑。该语法是正确的,因为此代码用于成功设置其他属性。只是这个长的十六进制字符串不起作用。谢谢韦斯,我会试试的!谢谢韦斯,我会试试的!