sudo /usr/bin/snmpbulkwalk -v 2c -c public@1 -OXsq 10.0.0.98 .1.3.6.1.2.1.17.4.3.1.2
在Mike的解决方案中,他得到了如下所示的清晰结果
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public@10 -OXsq \
172.16.1.210 .1.3.6.1.2.1.17.4.3.1.2
dot1dTpFdbPort[0:6:53:fe:39:e0] 52
dot1dTpFdbPort[0:1d:a1:cd:53:46] 52
dot1dTpFdbPort[0:30:1b:bc:a7:d7] 52
dot1dTpFdbPort[0:80:c8:0:0:0] 52
dot1dTpFdbPort[38:ea:a7:6d:2e:8e] 52
dot1dTpFdbPort[80:ee:73:2f:b:40] 52
[mpenning@tsunami ~]$
这是一个清晰的解决方案,您可以在其中轻松分辨出端口和Mac地址。但是,我自己的解决方案是以
iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25
iso.3.6.1.2.1.17.4.3.1.2.0.21.23.10.229.224 25
iso.3.6.1.2.1.17.4.3.1.2.28.111.101.71.85.113 25
iso.3.6.1.2.1.17.4.3.1.2.28.111.101.174.157.35 25
iso.3.6.1.2.1.17.4.3.1.2.48.133.169.153.178.62 25
iso.3.6.1.2.1.17.4.3.1.2.60.208.248.182.16.108 25
iso.3.6.1.2.1.17.4.3.1.2.108.240.73.231.208.120 25
的形式出现的。我知道端口号是25,但是其他数字是否代表MAC地址,如果是,为什么它们与给定解决方案不同?
任何帮助将不胜感激。我正在轮询Cisco Catalyst 2960交换机。
#1 楼
我自己的解决方案以
iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25
...其他数字代表MAC地址吗?如果是,为什么它们与Give解决方案不同?
首先,我很抱歉不包含此依赖项...
要轮询的MIB表按值建立索引。在这种情况下,您要轮询
dot1dTpFdbPort
(如果未加载BRIDGE-MIB,它将显示为iso.3.6.1.2.1.17.4.3.1.2)。该OID由mac地址索引。因此,0.20.42.49.139.235是点分十进制格式的mac地址... 要查看您期望的结果,您需要从Cisco的FTP站点获取v2 mib:
mkdir /usr/share/snmp/mibs/cisco
(作为根用户)cd /usr/share/snmp/mibs/cisco
复制刚下载的
v2.tar.gz
/usr/share/snmp/mibs/cisco/v2.tar.gz
编辑
tar xvfz v2.tar.gz
并将其作为文件的第一行:/etc/snmp/snmp.conf
假设:
您正在使用NET-SNMP库进行轮询
您的NET-SNMP默认MIB已装入
mibdirs +/usr/share/snmp/mibs/cisco
您的NET-SNMP配置已位于
/usr/share/snmp/mibs/
评论
您缺少MIB文件,该文件告诉您如何读取数据。但这只是MAC的base10表示形式,即iso.3.6.1.2.1.17.4.3.1.2。 28.111.101.71.85.113 25,易于转换为base16。 ruby -e'p ARGV [0] .split(“。”)[-6 ..- 1] .map {| e | e.to_i.to_s(16)}。join(“:”)'iso.3.6 .1.2.1.17.4.3.1.2.28.111.101.71.85.113 25,产生“ 1c:6f:65:47:55:71”-看起来是千兆字节的OUI您可以发布等效的MAC地址吗?看起来您可能只是以十进制而不是十六进制形式转储了它们,但是我们需要十六进制地址进行比较。
获取等效MAC地址的唯一方法是进行转换,因为从该解决方案开始,它们都指向端口25,因此我认为尝试查找对应的MAC地址是一个复杂的过程。
@ytti我应该在服务器上安装MIB吗?
@sosytee是的,如果您自己不进行转换,则应该在服务器中安装适当的MIB,因为它过于琐碎,如上所示。