Snmp variable type. how does snmpwalk detect it

snmp

I'm doing an "snmpwalk" to a remote device. In response I get something like this:

.1.3.6.1.2.1.10.127.1.3.3.1.2.215 -> Hex-STRING: 24 37 4C 0C 65 0E 
.1.3.6.1.2.1.10.127.1.3.3.1.2.216 -> Hex-STRING: 24 37 4C 0B A2 DA 
.1.3.6.1.2.1.10.127.1.3.3.1.2.217 -> STRING: "$7L
                                                 f:"
.1.3.6.1.2.1.10.127.1.3.3.1.2.218 -> STRING: "$7L
                                                 k2"

As you can see some variables are of a STRING type, others are Hex-STRING. The correct output would only have Hex-STRING types.

So, I'm wondering whos fault is this? Does the remote device send the variable's type in responce? Or snmpwalk has to guess the type?

Best Answer

All object types and names are defined in the MIB(s).

Without MIBs for the OIDs returned, snmpwalk can only show dot-names and raw data values.

Since you only get dot-names (and not MIB-defined object names) in the response, snmpwalk probably guesstimates what the object type is.

You can simply include the relevant (missing) MIB definition somewhere so snmpwalk can load it.