Штаргалка по SNMP

SNMP (Simple Network Management Protocol — простой протокол сетевого управления) — стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP.

MIB (Managment Information Base) — это структурированный текстовый файл или несколько файлов, которые содержат информацию о всех объектах устройства. Объектом может быть какая-нибудь настройка или параметры системы. У каждого объекта есть свой набор полей, таких как тип данных, доступность (чтение, запись), статус (обязательный, необязательный), текстовое название настройки. Также объект может содержать другие объекты.

OID — Object IDentificator - числовой идентификатор объекта в дереве MIB.

Object Name — имя объекта, уникальная константа для всего MIB, однозначно соответствующая определённому OID.

 

Типы запросов SNMP
Feature Version 1 Version 2C Version3
GET request Да Да Да
GET-NEXT request Да Да Да
SET request Да Да Да
GET-BULK request Нет Да Да
TRAP notification Да Да Да
INFORM notification Нет Да Да
Community based security Да Да Нет
User based security Нет Нет Да
Message Authentication Нет Нет Да
Message Encryption (privacy) Нет Нет Да

 

Типы данных SNMP
Тип Описание Пример Дополнительно
Integer32 Целое со знаком (32-бита)  .1.3.6.1.2.1.1.7.0 = INTEGER: 2 от -2147483648 до 2147483647
Counter32 Целое без знака (32-бита) .1.3.6.1.2.1.1.7.1 = Counter32: 1 от 0 до 4294967295, не доступно на запись, при переполнении сбрасывается в 0
Counter64 Целое без знака (64-бита) .1.3.6.1.2.1.31.1.1.1.8.6 = Counter64: 103 не доступно на запись, после переполнения сбрасывается в ноль
Gauge32 Целое без знака (32-бита) .1.3.6.1.2.1.2.2.1.5.49 = Gauge32: 100000000 от 0 до 4294967295
TimeTicks Целое без знака .1.3.6.1.2.1.1.3.0 = Timeticks: (1299250300) 150 days, 9:01:43.00 1/100 секунд, не уменьшаемое
OctetString Строка/Массив байт .1.3.6.1.2.1.1.9.1.3.1 = STRING: "RS capabilities" Обычно до 255 байт
Object Identifier OID .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.3955.6.9.224.1  
IpAddress IP адрес .1.3.6.1.2.1.4.20.1.1.192.168.136.18 = IpAddress: 192.168.0.18  
HexString Шестнадцатеричная строка .1.3.6.1.2.1.2.2.1.6.1 = Hex-STRING: 3C DF 1E EA A7 65  
Null Нет значения или пустое .1.3.6.1.2.1.31.1.1.1.18.1 = ""  

 

Описание OID

 

При работе с удалённой системой по SNMP протоколу все запросы происходят через OID, отражающий положение объекта в дереве объектов MIB. Все OID системы можно получить просканировав устройство, например командой snmpwalk:

snmpwalk -Cc -c public -v2c -On 192.168.0.1

или более быстрый вариант:

snmpbulkwalk -Cc -c public -v2c -On 192.168.0.1

где

  • -Cc - Отключает проверу увеличения OID (предотвращает ошибку Error: OID not increasing)
  • -c public - обращение к сообществу (comminity) public, на многих устройствах оно существует по умолчанию и в режиме только для чтения;
  • -v2c - использовать вторую версию протокола SNMP;
  • -O n - выводить OID'ы числовыми значениями
  • 192.168.0.1 - IP адрес устройства.
 
Пример вывода
.1.3.6.1.2.1.1.1.0 = STRING: "MES2124F 28-port Fiber 1G Managed Switch"
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.35265.1.75
.1.3.6.1.2.1.1.3.0 = Timeticks: (1282050300) 148 days, 9:15:03.00
.1.3.6.1.2.1.1.4.0 = ""
.1.3.6.1.2.1.1.5.0 = ""
.1.3.6.1.2.1.1.6.0 = ""
.1.3.6.1.2.1.1.7.0 = INTEGER: 2
.1.3.6.1.2.1.1.8.0 = Timeticks: (0) 0:00:00.00
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.4.1.89.73
.1.3.6.1.2.1.1.9.1.3.1 = STRING: "RS capabilities"
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (0) 0:00:00.00
.1.3.6.1.2.1.2.1.0 = INTEGER: 37
.1.3.6.1.2.1.2.2.1.1.49 = INTEGER: 49
.1.3.6.1.2.1.2.2.1.1.50 = INTEGER: 50
.1.3.6.1.2.1.2.2.1.1.51 = INTEGER: 51

 - Удобная библиотека на PHP для работы с SNMP: https://notes.azrr.info/page/view/15-biblioteka-na-php-dlya-raboty-s-snmp.html

Теги: snmp

Комментарии (0)