Ich habe einen Cisco-Switch, dessen SNMP-Agent Schnittstellenbeschreibungen mit einer Länge von bis zu 256 Zeichen zurückgibt ifAlias
. Hier erhalte ich beispielsweise eine Schnittstellenbeschreibung mit einer Länge von 100 Zeichen:
$ snmpget -m ./IF-MIB_tmp -M /usr/share/snmp/mibs/ -M
/usr/local/share/snmp/mibs/ -Ov -v 2c -c public switch
IF-MIB::ifAlias.53
STRING: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$
Die DisplayString-Größe in MIB-Dateien beträgt jedoch 64 Zeichen:
$ grep -A 5 -i "^ifalias" ./IF-MIB_tmp /usr/share/snmp/mibs/* /usr/local/shar /snmp/mibs/*
./IF-MIB_tmp:ifAlias OBJECT-TYPE
./IF-MIB_tmp- SYNTAX DisplayString (SIZE(0..64))
./IF-MIB_tmp- MAX-ACCESS read-write
./IF-MIB_tmp- STATUS current
./IF-MIB_tmp- DESCRIPTION
./IF-MIB_tmp- "This object is an 'alias' name for the interface as
--
/usr/share/snmp/mibs/mib-rfc2863a.txt:ifAlias OBJECT-TYPE
/usr/share/snmp/mibs/mib-rfc2863a.txt- SYNTAX DisplayString (SIZE(0..64))
/usr/share/snmp/mibs/mib-rfc2863a.txt- MAX-ACCESS read-write
/usr/share/snmp/mibs/mib-rfc2863a.txt- STATUS current
/usr/share/snmp/mibs/mib-rfc2863a.txt- DESCRIPTION
/usr/share/snmp/mibs/mib-rfc2863a.txt- "This object is an 'alias' name for the interface as
$
Ich habe erwartet, dass snmpget
die mit dem Parameter DisplayString SIZE definierte Anzahl von Zeichen angezeigt wird, z. B. die ersten 64 „x“-Zeichen. Beeinflusst DisplayString SIZE die Ausgabe von snmpget
? Wenn ja, wie? Oder ist der Parameter DISPLAY-HINT der einzige, der die Ausgabe der SNMP GetResponse-Werte tatsächlich ändert?
Antwort1
Informationen in Ihrer Client-MIB haben keinen Einfluss auf den Wert, den sie vom Server/Switch erhält, und das sollte auch nicht der Fall sein. snmpget
Sie gibt einfach zurück, was der SNMP-Agent des Cisco-Switches ihr gibt. In diesem Fall ist die MIB hauptsächlich eine Richtlinie: Cisco kann seine MIB frei implementieren, solange die Implementierung von Cisco der SMIv2-Definition von DisplayString entspricht, die eine Länge zwischen 0 und 255 Zeichen haben kann (siehehttps://www.rfc-editor.org/rfc/rfc2579). Dies ist auch der Standard für RFC 2863 (siehehttps://www.rfc-editor.org/rfc/rfc2863).