我试图将一些.my文件从cisco网站转换为.py文件,以便与pysnmp应用程序一起使用,但每个文件都失败了。
ftp://ftp.cisco.com/pub/mibs/supportlists/wlc/wlc-supportlist.html
我已经将我的SMIPATH设置为包含所有mib的当前目录。但是我在每个cisco mib上都收到了同样的错误。
root@testbox:/home/johnny# build-pysnmp-mib -o CISCO-CDP-MIB.py CISCO-CDP-MIB.my
Segmentation fault (core dumped)
Empty input
smidump -k -f python CISCO-CDP-MIB.my | /usr/bin/libsmi2pysnmp fails
make sure you are using libsmi version > 0.4.5 (or svn)
root@testbox:/home/johnny# build-pysnmp-mib -o CISCO-LWAPP-AAA-MIB.py CISCO-LWAPP-AAA-MIB.my
Segmentation fault (core dumped)
Empty input
smidump -k -f python CISCO-LWAPP-AAA-MIB.my | /usr/bin/libsmi2pysnmp fails
make sure you are using libsmi version > 0.4.5 (or svn)
答案 0 :(得分:1)
自pysnmp 4.3以来,build-pysnmp-mib脚本已过时。请使用pysmi包中的mibdump.py工具(版本0.0.7及更高版本)生成pysnmp MIB模块。您可以将生成的模块与任何pysnmp版本一起使用。
以下从http://mibs.snmplabs.com/asn1/获取CISCO-LWAPP-MFP-MIB并将其编译为pysnmp形式以及它所依赖的所有其他MIB:
$ mibdump.py CISCO-LWAPP-MFP-MIB
Source MIB repositories: file:///usr/share/snmp/mibs, http://mibs.snmplabs.com/asn1/@mib@
Borrow missing/failed MIBs from: http://mibs.snmplabs.com/pysnmp/notexts/@mib@
MIBs to compile: CISCO-LWAPP-MFP-MIB
Destination format: pysnmp
Also compile all relevant MIBs: yes
Created/updated MIBs: CISCO-LWAPP-AP-MIB, CISCO-LWAPP-DOT11-CLIENT-MIB, CISCO-LWAPP-DOT11-MIB, CISCO-LWAPP-MFP-MIB, CISCO-LWAPP-TC-MIB, CISCO-LWAPP-WLAN-MIB, CISCO-SMI, CISCO-TC, CISCO-VTP-MIB, ENTITY-MIB, RMON-MIB
您可以为真正的Cisco MIBs存储库传递mibdump.py URL,以便它可以直接从那里获取更新的MIB。
或者,如果将pysnmp升级到版本4.3,则不需要显式MIB转换 - 它将全部由pysnmp在幕后完成。包括从Internet上搜索和下载ASN.1 MIB文件。
以前(基于libsmi的)转换过程非常脆弱和错误。