python 中的 snmpset
我正在使用 python 向 snmp 代理发送 snmpset 消息。我有正确的 OID,因为我可以使用它通过 snmpget 获取数据。但是,它不会设置数据。我以十六进制格式发送八位字节(两个十六进制值),用冒号分隔。我可能必须在它周围加上撇号,对吧?这是我发送的行的示例
foo = os.popen("snmpset -v 2c -c 私有 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 浏览器中使用了它。
I am using the python to send an snmpset message to an snmp agent. I have the correct OID as I can use it to get data with snmpget. However, it will not set the data. I am sending octets in hex format (two hex values) separated by a colon. I might have to put apostrophes around it, right? Here is the example of the line I am sending
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")
as you can see, I am sending an Octet string with type x.
Can anyone hazard a guess as to how I should pass in the set value of "00:00:04:cf:00:00:00:00:00:00
". I know the setvalue is of the right length and type because I have used it in a MIB browser.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有几件事:
1)您可以使用本机 python 接口,而不是调用系统命令。事实上有多种选择,包括 pysnmp (用 python 完成)和 Net-SNMP 的 python 模块(用 C 完成)< /a>.
2) Net-SNMP
snmpset
命令需要直接的十六进制代码,其中不带任何 :s。因此,如果删除 :s,您可能会发现它会起作用。A couple of things:
1) there is a native python interface you could use instead of calling a system command. There are in fact multiple choices, including pysnmp (done in python) and Net-SNMP's python module (done in C).
2) The Net-SNMP
snmpset
command expects straight hex code without any :s in it. So if you remove the :s you may find it'll work.