Traducción de la salida SNMPWALK a formato legible por humanos

12

Estoy haciendo esta pregunta que está relacionada con una pregunta que hice anteriormente y que fue respondida de manera exhaustiva por @MikePennington. Cuando hice esa pregunta, tenía la intención de saber cómo sondear la tabla arp desde un interruptor, pero en su respuesta, también incluyó tablas de direcciones mac. Por curiosidad, busqué las tablas de direcciones mac. Usé el comando:

 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

En la solución de Mike, tuvo un resultado claro que se muestra a continuación

[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 ~]$

Esta es una solución clara en la que puede indicar fácilmente el puerto y la dirección Mac. Sin embargo, mi propia solución sale en forma de

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

Entiendo que el número de puerto es 25, pero los otros números representan una dirección MAC y, de ser así, ¿por qué son diferentes de la solución de dar?

Cualquier ayuda será realmente apreciada. Estoy sondeando un switch Cisco Catalyst 2960.

sosytee
fuente
2
Te falta el archivo MIB que dice cómo leer los datos. Pero es solo la presentación base10 de su MAC, iso.3.6.1.2.1.17.4.3.1.2. 28.111.101.71.85.113 25, fácil de convertir a 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, produce "1c: 6f: 65: 47: 55: 71" - parece ser gigabyte OUI
ytti
¿Pueden publicar las direcciones MAC equivalentes? Parece que es posible que los esté volcando en decimal en lugar de hexadecimal, pero necesitaríamos las direcciones hexadecimales para comparar.
chrylis -on strike-
la única forma de obtener las direcciones MAC equivalentes sería convertirlas porque desde esa solución, todo apunta al puerto 25, así que creo que es un procedimiento complicado intentar encontrar las MAC correspondientes.
sosytee
@ytti ¿Debo instalar la MIB en mi servidor?
sosytee
1
@sosytee sí, debe instalar el MIB apropiado en su servidor si convertirlo usted mismo no es una opción, es demasiado trivial como se muestra arriba.
ytti

Respuestas:

8

mi propia solución sale en forma de

iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25

... los otros números representan una dirección MAC y si es así, ¿por qué son diferentes de la solución de dar?

Primero, pido disculpas por no incluir esta dependencia ...

Las tablas MIB que está encuestando están indexadas por un valor. En este caso, está sondeandodot1dTpFdbPort (que aparece como iso.3.6.1.2.1.17.4.3.1.2 , si no tiene el BRIDGE-MIB cargado). Ese OID está indexado por una dirección MAC. Por lo tanto, 0.20.42.49.139.235 es la dirección MAC en formato decimal con puntos ...

Para ver los resultados que espera, necesita obtener las mib v2 del sitio FTP de Cisco :

  • mkdir /usr/share/snmp/mibs/cisco (como root)
  • cd /usr/share/snmp/mibs/cisco
  • Copia v2.tar.gzque acaba de descargar a/usr/share/snmp/mibs/cisco/v2.tar.gz
  • tar xvfz v2.tar.gz
  • Edite /etc/snmp/snmp.confy convierta esta en la primera línea del archivo:mibdirs +/usr/share/snmp/mibs/cisco

supuestos :

  • Estás utilizando bibliotecas NET-SNMP para sondear
  • Las MIB predeterminadas de NET-SNMP se cargan en /usr/share/snmp/mibs/
  • Su configuración NET-SNMP está en /etc/snmp/snmp.conf
Mike Pennington
fuente