将SNMPWALK输出转换为可读格式


12

我问的这个问题与我之前提出的问题有关,@ 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交换机。


2
您缺少告诉您如何读取数据的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
ytti 2013年

您可以发布等效的MAC地址吗?看起来您可能只是以十进制而不是十六进制形式转储了它们,但我们需要使用十六进制地址进行比较。
chrylis-罢工-13年

获得等效MAC地址的唯一方法是进行转换,因为从该解决方案开始,它们都指向端口25,因此我认为尝试查找对应的MAC是一个复杂的过程。
sosytee

@ytti我应该在服务器上安装MIB吗?
sosytee

1
@sosytee是的,如果您自己不进行转换,则应该在服务器中安装适当的MIB,如上所述,它过于琐碎。
ytti

Answers:


8

我自己的解决方案以

iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25

...其他数字是否代表MAC地址?如果是,为什么它们与给定解决方案不同?

首先,我很抱歉不包含此依赖项...

您正在轮询的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并使其成为文件的第一行:mibdirs +/usr/share/snmp/mibs/cisco

假设

  • 您正在使用NET-SNMP库进行轮询
  • 您的NET-SNMP默认MIB已加载到 /usr/share/snmp/mibs/
  • 您的NET-SNMP配置位于 /etc/snmp/snmp.conf
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.