Штаргалка по SNMP
SNMP (Simple Network Management Protocol — простой протокол сетевого управления) — стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP.
MIB (Managment Information Base) — это структурированный текстовый файл или несколько файлов, которые содержат информацию о всех объектах устройства. Объектом может быть какая-нибудь настройка или параметры системы. У каждого объекта есть свой набор полей, таких как тип данных, доступность (чтение, запись), статус (обязательный, необязательный), текстовое название настройки. Также объект может содержать другие объекты.
OID — Object IDentificator - числовой идентификатор объекта в дереве MIB.
Object Name — имя объекта, уникальная константа для всего MIB, однозначно соответствующая определённому OID.
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) |
Тип | Описание | Пример | Дополнительно |
---|---|---|---|
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 = "" |
При работе с удалённой системой по 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
Комментарии (0)