Piszę agenta SNMP, a definicja MIB zawiera OID typu Unsigned32.Jakie jest prawidłowe kodowanie dla typu SNMP Unsigned32?
Implementacja Unix agenta używa Net-SNMP i ustawia OID jako typ ASN_UNSIGNED, ponieważ nie ma on ASN_UNSIGNED32. Kiedy patrzę na odpowiedź GET z Wireshark, dekoduje ją jako wartość "Gauge32". To ma sens na pierwszy rzut oka, ponieważ zgodnie z RFC 1902 Unsigned32 i Gauge32 są takie same.
Implementacja Windows opiera się na SnmpAPI.lib Windows i ustawia OID jako ASN_UNSIGNED32, a gdy patrzę na odpowiedź GET z Wireshark, dekoduje ją jako "Unsigned32". Wydaje mi się to jeszcze lepsze.
W jaki sposób 2 wdrożenia dają różne wyniki na drucie?
Jaka jest poprawna wersja i jak mogę ją uzyskać z obu implementacji?
Dobry połów. Brzmi jak błąd systemu Windows. –
Wygląda na to, że Microsoft nie zaktualizował usługi SNMP od 1996 roku, kiedy pojawił się RFC 1902. Dlatego po prostu trzymają się starej wersji i wydaje się, że większość narzędzi SNMOP jest nadal zgodna z RFC 1442. –