我问的这个问题与我之前提出的问题有关,@ MikePennington对此进行了全面回答。当我问这个问题时,我想知道如何从交换机轮询arp表,但是在他的回答中,他还包括了mac地址表。出于好奇,我轮询了mac地址表。我使用了以下命令:

 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交换机。

评论

您缺少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,因为它过于琐碎,如上所示。

#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/