Давайте взглянем на структуру SNMP ответа get-response с помощью Wireshark:
Пакет начинается с байта 0x30 и содержит в нашем примере всего 59 байтов. Второй байт 0x39 показывает длину последующего массива отправляемых байтов (0x3916 = 5710). Пятый байт 0x00 показывает номер версии version-1, за которым следует указатель community и байт его длины 0x06 (6 байт). Значение community начинается в нашем случае с 8-го байта и идёт до 13 байта включительно (0x70 0x75 0x62 0x6C 0x69 0x63). Дальше следуют байты данных самого get-response: открывающий байт 0xA2, длина последующих байтов 0x2C (44 байта), открывающий байт идентификатора запроса 0x02 и длина request-id 0x04. Значение request-id начинается с 18 байта и идёт в нашем случае до 21 байта (0x0B 0x5E 0xA0 0x42), что составляет значение 190750786. Величина request-id соответствует величине request-id пришедшего в SNMP запросе get-request. Далее 24-м байтом идёт error-status, 27-м байтом идёт error-index, а 28-м байтом идёт открывающий байт 0x30 и длина последующих байтов 0x1E (30 байтов). 30-м байтом идёт открывающий байт 0x30 и длина последующих байтов 0x1С (28 байтов). Затем опять повторяется OID, пришедший в запросе get-request, а именно байт длины 0x0B (11 байтов) и их значение: 0x2B 0x06 0x01 0x02 0x01 0x2B 0x05 0x01 0x01 0x11 0x01, что составляет значение 1.3.6.1.2.1.43.5.1.1.17.1. Далее 45-м байтом идёт байт 0x04, что означает что далее последует значение в OctetString и 46-м байтом следует длина последующего значения 0x0D (13 байтов): 0x41 0x37 0x39 0x38 0x30 0x32 0x37 0x35 0x34 0x31 0x32 0x34 0x36, что является серийным номером МФУ А798027541246.