如何将我的私人 MIB 文件转换为 .py 格式,以便我可以在我的设备上执行 GET/SET 操作
How do I convert my private MIB files into .py format so that I can perform GET/SET actions on my device
我正在尝试编写将在我的设备上执行 GET/SET 命令的脚本。当我尝试对 sysDescr(它是标准 MIB SNMPv2 的一部分)执行 GET 操作时,我设法得到了响应。
我尝试以多种不同的方式使用 mibdump.py 脚本,以便转换我专有的 MIB 文件,以便我以后可以使用它们:
在扩展名为 .mib 且不带
的特定 MIB 文件(查看结果)上激活 mibdump.py
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:
我再次尝试使用特定的 MIB 文件位置但没有成功
我什至尝试编译整个 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 文件的正确方法是什么?
如果您是 运行 SNMP 管理应用程序,您实际上不需要显式编译 MIB——pysnmp 会在幕后通过调用 pysmi
编译器和缓存已编译的 MIB 为您完成这项工作未来的场合。 an example script 就是这样做的。
您关于 mibdump
的问题似乎与 MIB 搜索路径有关。如果您的 MIB 文件位于当前工作目录中,则应使用此命令:
mibdump.py --mib-source . --mib-source http://mibs.snmplabs.com/asn1/@mib@ SL-XPDR
这个想法是让 mibdump 首先检查您的 cwd,然后尝试 on-line MIB 存储库(对于您的 MIB 可能依赖的其他 MIB 文件)。
在您的屏幕粘贴中,路径似乎被空格破坏了。我不确定是因为剪切和粘贴还是您需要在 command-line.
中引用它们
我正在尝试编写将在我的设备上执行 GET/SET 命令的脚本。当我尝试对 sysDescr(它是标准 MIB SNMPv2 的一部分)执行 GET 操作时,我设法得到了响应。 我尝试以多种不同的方式使用 mibdump.py 脚本,以便转换我专有的 MIB 文件,以便我以后可以使用它们:
在扩展名为 .mib 且不带
的特定 MIB 文件(查看结果)上激活 mibdump.pyc:\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:
我再次尝试使用特定的 MIB 文件位置但没有成功
我什至尝试编译整个 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 文件的正确方法是什么?
如果您是 运行 SNMP 管理应用程序,您实际上不需要显式编译 MIB——pysnmp 会在幕后通过调用 pysmi
编译器和缓存已编译的 MIB 为您完成这项工作未来的场合。 an example script 就是这样做的。
您关于 mibdump
的问题似乎与 MIB 搜索路径有关。如果您的 MIB 文件位于当前工作目录中,则应使用此命令:
mibdump.py --mib-source . --mib-source http://mibs.snmplabs.com/asn1/@mib@ SL-XPDR
这个想法是让 mibdump 首先检查您的 cwd,然后尝试 on-line MIB 存储库(对于您的 MIB 可能依赖的其他 MIB 文件)。
在您的屏幕粘贴中,路径似乎被空格破坏了。我不确定是因为剪切和粘贴还是您需要在 command-line.
中引用它们