Estoy escribiendo un agente SNMP y la definición MIB incluye un OID de tipo Unsigned32.¿Cuál es la codificación correcta para el tipo de SNMP Unsigned32?
La implementación de Unix del agente usa Net-SNMP y configura el OID como tipo ASN_UNSIGNED, ya que no tiene un ASN_UNSIGNED32. Cuando miro la respuesta GET con Wireshark, la decodifica como un valor "Gauge32". Eso tiene sentido a primera vista, porque según RFC 1902 Unsigned32 y Gauge32 son lo mismo.
La implementación de Windows se basa en SnmpAPI.lib de Windows y configura el OID como ASN_UNSIGNED32 y cuando miro la respuesta GET con Wireshark, la decodifica como "Unsigned32". Eso se ve mejor para mí.
¿Cómo es que las 2 implementaciones producen resultados diferentes en el cable?
¿Cuál es la versión correcta y cómo puedo obtener la misma de ambas implementaciones?
Buena captura. Suena como un error de Windows. –
Por lo que parece, Microsoft no ha actualizado realmente el servicio SNMP desde 1996 cuando salió el RFC 1902. Así que simplemente se quedan con la versión anterior y parece que la mayoría de las herramientas de SNMOP también son compatibles con RFC 1442. –