Я пишу агент SNMP, а определение MIB включает OID типа Unsigned32.Какая правильная кодировка для типа SNMP Unsigned32?
Реализация Unix агента использует Net-SNMP и устанавливает OID как тип ASN_UNSIGNED, так как он не имеет ASN_UNSIGNED32. Когда я смотрю на ответ GET с Wireshark, он декодирует его как значение «Gauge32». Это имеет смысл с первого взгляда, потому что согласно RFC 1902 Unsigned32 и Gauge32 совпадают.
Реализация Windows основана на Windows SnmpAPI.lib и устанавливает OID как ASN_UNSIGNED32, и когда я смотрю на ответ GET с Wireshark, он декодирует его как «Unsigned32». Это выглядит еще лучше для меня.
Каким образом 2 варианта реализации производят разные результаты на проводе?
Какая правильная версия и как я могу получить то же самое от обеих реализаций?
Хороший улов. Звучит как ошибка Windows. –
С точки зрения этого, Microsoft не обновляла службу SNMP с 1996 года, когда вышел RFC 1902. Поэтому они просто придерживаются старой версии, и большинство инструментов SNMOP по-прежнему совместимы с RFC 1442. –