如何将我的私有MIB文件转换为.py格式,以便在我的devi上执行GET/SET操作

2024-07-04 16:46:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个脚本,在我的设备上执行GET/SET命令。当我试图对sysDescr(标准MIB SNMPv2的一部分)执行getaction时,我设法得到了响应。 我试着用midump.py文件以几种不同的方式编写脚本,以便转换我的专有MIB文件,以便以后可以使用它们:

  1. 激活midump.py文件在具有.MIB扩展名和不具有.MIB扩展名的特定MIB文件(请参见结果)

     c:\Program Files\Python35\Scripts>python mibdump.py SL-XPDR.mib
        Source MIB repositories: file:///usr/share/snmp/mibs, h ttp://mibs.snmplabs.com/a
        sn1/@mib@
        Borrow missing/failed MIBs from: h ttp://mibs.snmplabs.com/pysnmp/notexts/@mib@
        Existing/compiled MIB locations: pysnmp.smi.mibs, pysnmp_mibs
        Compiled MIBs destination directory: C:\Users\alpha_2.PL\PySNMP   Configuration\mibs
        MIBs excluded from code generation: RFC-1212, RFC-1215, RFC1065-SMI, RFC1155-SMI
        , RFC1158-MIB, RFC1213-MIB, SNMP-FRAMEWORK-MIB, SNMP-TARGET-MIB,   SNMPv2-CONF, SN
        MPv2-SMI, SNMPv2-TC, SNMPv2-TM, TRANSPORT-ADDRESS-MIB
        MIBs to compile: SL-XPDR
        Destination format: pysnmp
        Parser grammar cache directory: not used
        Also compile all relevant MIBs: yes
        Rebuild MIBs regardless of age: no
        Do not create/update MIBs: no
        Byte-compile Python modules: yes (optimization level 0)
        Ignore compilation errors: no
        Generate OID->MIB index: no
        Generate texts in MIBs: no
        Try various filenames while searching for MIB module: yes
        Created/updated MIBs:
        Pre-compiled MIBs borrowed:
        Up to date MIBs:
        Missing source MIBs: SL-XPDR
        Ignored MIBs:
        Failed MIBs:
    
  2. 我再次尝试使用特定的MIB文件位置,但没有成功

  3. 我甚至试图编译整个MIB文件夹,但没有成功

    c:\Program Files\Python35\Scripts>python mibdump.py C:\Program Files\Python35\Scripts\mibs
        Source MIB repositories: file:///usr/share/snmp/mibs, file://C:\, file://c:\Prog
        ram Files\Python35\Scripts\Files\Python35\Scripts, h ttp://mibs.snmplabs.com/asn1/@mib@
        Borrow missing/failed MIBs from: h ttp://mibs.snmplabs.com/pysnmp/notexts/@mib@
        Existing/compiled MIB locations: pysnmp.smi.mibs, pysnmp_mibs
        Compiled MIBs destination directory: C:\Users\alpha_2.PL\PySNMP Configuration\mibs
        MIBs excluded from code generation: RFC-1212, RFC-1215, RFC1065-SMI, RFC1155-SMI, RFC1158-MIB, RFC1213-MIB, SNMP-FRAMEWORK-MIB, SNMP-TARGET-MIB, SNMPv2-CONF, SNMPv2-SMI, SNMPv2-TC, SNMPv2-TM, TRANSPORT-ADDRESS-MIB
        MIBs to compile: Program, mibs
        Destination format: pysnmp
        Parser grammar cache directory: not used
        Also compile all relevant MIBs: yes
        Rebuild MIBs regardless of age: no
        Do not create/update MIBs: no
        Byte-compile Python modules: yes (optimization level 0)
        Ignore compilation errors: no
        Generate OID->MIB index: no
        Generate texts in MIBs: no
        Try various filenames while searching for MIB module: yes
        Created/updated MIBs:
        Pre-compiled MIBs borrowed:
        Up to date MIBs:
        Missing source MIBs: Program, mibs
        Ignored MIBs:
        Failed MIBs:
    

如何正确地将我的专有MIB文件转换为.py文件?在


Tags: 文件nopyscriptsfilesprogramyessmi
1条回答
网友
1楼 · 发布于 2024-07-04 16:46:29

如果您运行的是SNMP管理应用程序,那么实际上不需要显式地编译MIB,pysnmp将在幕后通过调用pysmi编译器和缓存已编译的MIB以备将来使用。这里的an example script就是这样。在

您使用mibdump的问题似乎与MIB搜索路径有关。如果您的MIB文件在current工作目录中,那么该命令应该执行以下操作:

mibdump.py   mib-source .  mib-source http://mibs.snmplabs.com/asn1/@mib@ SL-XPDR

这样做的目的是让midump首先检查您的cwd,然后尝试联机MIB存储库(对于MIB可能依赖的其他MIB文件)。在

在屏幕粘贴中,路径看起来像是被空格破坏了。我不确定是因为剪切和粘贴还是需要在命令行引用它们。在

相关问题 更多 >

    热门问题