从python中生成snmptrap


我正在尝试从Python中生成一个SnmpTrap,但我一直收到以下错误
在-v标志后指定的版本无效:2C-c PUBLIC 192.168.2.162 SNMPv2-SMI::Enterprises.3.1.1
下面是我正在使用的python代码

选择 | 换行 | 行号
  1. from subprocess import Popen
  2. Popen(['snmptrap', '-v 2c -c public 192.168.2.162 SNMPv2-SMI::enterprises.3.1.1'])
  3.  

当我像这样从外壳测试相同的命令时,它可以工作
SNMPTrap-v 2c-c公共192.168.2.162 SNMPv2-SMI::企业。3.1.1
我试着关闭v和2c之间的空格,所以它是这样的-,v2c,但我仍然得到错误。
如果你能帮我改正这一点或指出我做错了什么,我将非常感激。
谢谢
Kaf

# 回答1


嗨,
我让它起作用了,这是我用的代码

选择 | 换行 | 行号
  1. import subprocess
  2. from subprocess import Popen, PIPE
  3. path = "-v 2c -c public 192.168.2.162 '' SNMPv2-SMI::enterprises.3.1.1"
  4. Popen(['/opt/csw/bin/snmptrap', '%s' % path], shell=True, stdout=PIPE, stderr=subprocess.STDOUT)
  5.  

如果有人也有更好的方法,我也会很感激的。
谢谢

标签: python

添加新评论