我尝试打开几个 MIB 文件,但tkmib
没有成功。例如:
$ sudo apt-get install tkmib
$ wget http://www.mibsearch.com/vendors/Compaq/download/CPQHLTH-MIB
$ tkmib CPQHLTH-MIB
单击“行走”,然后您应该收到如下错误消息:
setting opts
getaddrinfo: CPQHLTH-MIB No address associated with hostname
error:snmp_new_session: Couldn't open SNMP session at /usr/lib/perl5/SNMP.pm line 475.
unable to create session at /usr/lib/perl5/SNMP.pm line 547.
Tk::Error: Can't call method "getnext" on unblessed reference at /usr/bin/tkmib line 506.
main::snmpwalk at /usr/bin/tkmib line 506
Tk callback for .frame5.button2
Tk::__ANON__ at /usr/lib/perl5/Tk.pm line 250
Tk::Button::butUp at /usr/lib/perl5/Tk/Button.pm line 175
<ButtonRelease-1>
(command bound to event)
由于我对 SNMP 和 MIB 文件完全不熟悉,而且man tkmib
了解得很少,我实际上需要做什么才能使用这个文件?
答案1
安装 snmp-mibs-downloader:
sudo apt-get install snmp-mibs-downloader
它在 /var/lib/mibs/ietf 中安装了很多 MIBS
然后加载文件 > 加载
答案2
你想做什么?
您提供给 tkmib 的命令行参数似乎已被用作主机名。
无需任何命令行参数即可运行它,然后使用文件->加载新 Mib 文件,并选择您的 MIB。但您可能会遇到问题,因为未安装基本 MIB。
您可能需要更改屏幕下方约 2/3 处显示的主机名(默认为“localhost”)。
您没有提到您使用的是哪个 Ubuntu 版本,但它们似乎没有包含在 12.04 中的任何软件包中。在 10.04 中,基本 MIB 是软件包的一部分libsnmp-base
。如果您运行的版本不提供 libsnmp-base 中的基本 MIB,我建议手动下载 MIB 并将它们放在以下目录之一中:
- $HOME/.snmp/mibs
- /usr/共享/mibs/站点
- /usr/share/snmp/mibs
- /usr/share/mibs/iana
- /usr/share/mibs/ietf
- /usr/share/mibs/netsnmp
因为这些目录(显然)被 tkmib(和其他软件)用作搜索路径。
答案3
这个tkmib
包裹似乎已经“破损”了一段时间了。
看看这个非常古老的错误tkmib 没有来自 OID 的值从 2010 年起在 Debian 邮件列表上。Ubuntunet-snmp
附带的默认版本是 5.4.3,并且可以与其他依赖 SNMP 的应用程序(例如 Cacti)一起按预期运行,但不能与 一起运行tkmib
。
我最近编译了新版本的net-snmp
(版本5.7.2),如下所示这些说明并且能够从中获得一些最低限度的用途tkmib
。
编译后,我能够获得 的一些返回值tkmib
。但是应用程序接口的行为并不像预期的那样。也就是说,当get
对 MIB 实例发出查询时(例如,查询 sysDesc MIB),tkmib 返回 的值NOSUCHINSTANCE
。但是,对同一实例发出getnext
查询时会返回实际的预期值。
我强烈建议使用其他 MIB 浏览器,例如SNMP 数据库. 在我看来,与 tkmib 相比,SnmpB 的功能和界面在获取准确的 SNMP 值方面更加出色。
MIB 浏览、轮询以及设置 MIBS 比使用 tkmib 要轻松得多
如果您打算使用tkmib
,请记住您还需要手动创建一个~/.snmp
目录来保存会话之间任何更改的值。
如果你有兴趣试用 snmpb,可以下载 .deb 文件这里并使用sudo dpkg -i snmpb_0.8_i386.deb
祝你好运。