Как устроен SNMP и что Принтум получает от принтеров
Кратко
SNMP (Simple Network Management Protocol) — протокол опроса сетевых устройств. Принтум использует SNMP для получения данных от принтеровМФУ и МФУ без установки агентов на устройства.
Как устроена информация в принтере
МФУ Каждый принтерМФУ содержит базу данных объектов — MIB (Management Information Base) . Каждый объект в MIB имеет уникальный адрес — OID (Object Identifier) .
OID — это числовой путь, например: 1.3.6.1.2.1.43.11.1.1.9.1.1
Структура OID иерархична — как путь в файловой системе:
1.3.6.1 — интернет 1.3.6.1.2 — management 1.3.6.1.2.1 — mib-2 (стандартные объекты) 1.3.6.1.2.1.43 — Printer MIB (RFC 3805) 1.3.6.1.2.1.43.11 — prtMarker (данные о расходных материалах) Что можно получить по OID
1.3.6.1.2.1.25.3.2.1.3 hrDeviceDescr Серийный номер 1.3.6.1.2.1.43.5.1.1.17 prtGeneralSerialNumber Счётчик отпечатков 1.3.6.1.2.1.43.10.2.1.4 prtMarkerLifeCount Оставшийся ресурс тонера 1.3.6.1.2.1.43.11.1.1.9 prtMarkerSuppliesLevel Максимальный ресурс 1.3.6.1.2.1.43.11.1.1.8 prtMarkerSuppliesMaxCapacity Статус устройства 1.3.6.1.2.1.25.3.5.1.1 hrPrinterStatus IP-адрес 1.3.6.1.2.1.4.20.1.1 ipAdEntAddr Версии SNMP
Принтум поддерживает SNMPv1 и SNMPv2c. Community string по умолчанию: public .
Почему разные вендоры показывают разные данные
Стандарт Printer MIB (RFC 3805) описывает общую структуру. Но производители реализуют его по-своему:
-1 или 0 . Некоторые устройства передают некорректные значения ( 253 , 254 ). Принтум компенсирует это:
Как проверить SNMP вручную
Команда snmpwalk позволяет просмотреть все данные устройства:
snmpwalk -v 2c -c public <ip-адрес-принтераМФУ> Получить конкретный OID:
snmpget -v 2c -c public <ip> 1.3.6.1.2.1.43.10.2.1.4.1.1 Это полезно при диагностике — если snmpwalk не отвечает, устройство не будет обнаружено Сетевым агентом.