Лабораторная работа №3 «Знакомство с протоколом SNMP

реклама
Лабораторная работа №3 «Знакомство с протоколом SNMP»
Цель работы: Ознакомление с протоколом SNMP и программными утилитами (netsnmp) для работы с ним.
Введение.
SNMP (англ. Simple Network Management Protocol — простой протокол управления
сетями) — это протокол управления сетями связи на основе архитектуры UDP.
Устройства, которые обычно поддерживают SNMP это маршрутизаторы,
коммутаторы, серверы, рабочие станции, принтеры, модемы и т.д. SNMP является
компонентом стека протоколов TCP/IP, как это определено Инженерным советом
Интернет (Internet Engineering Task Force, IETF). Он состоит из набора стандартов
сетевого управления, включая протокол передачи данных прикладного уровня,
схему базы данных и набора объектов.
Обычно при использовании SNMP присутствуют управляемые и управляющие
системы. В состав управляемой системы входит компонент, называемый агентом,
который отправляет отчёты управляющей системе. По существу SNMP агенты
передают управленческую информацию на управляющие системы как переменные
(такие как «свободная память», «имя системы», «количество работающих
процессов»).
Управляющая система может получить информацию через операции протокола
GET, GETNEXT и GETBULK. Агент может самостоятельно без запроса отправить
данные, используя операцию протокола TRAP или INFORM. Управляющие системы
могут также отправлять конфигурационные обновления или контролирующие
запросы, используя операцию SET для непосредственного управления системой.
Операции конфигурирования и управления используются только тогда, когда
нужны изменения в сетевой инфраструктуре. Операции мониторинга обычно
выполняются на регулярной основе.
Переменные, доступные через SNMP, организованы в иерархии. Эти иерархии и
другие метаданные (такие, как тип и описание переменной) описываются Базами
Управляющей Информации.
Management Information Bases (MIBs)
SNMP не определяет, какую информацию (какие переменные) управляемая
система должна предоставлять. Наоборот, SNMP использует расширяемую модель,
в которой доступная информация определяется Базами Управляющей
Информации (MIB — Management Information Base). Базы Управляющей
Информации описывают структуру управляющей информации устройств. Они
используют иерархическое пространство имён, содержащее уникальный
идентификатор объекта (англ. object identifier (OID)). Грубо говоря, каждый
уникальный идентификатор объекта идентифицирует переменную, которая может
быть прочитана или установлена через SNMP. MIBы используют нотацию,
определённую в ASN.1.
Иерархия MIB может быть изображена как дерево с безымянным корнем, уровни
которого присвоены разными организациями. На самом высоком уровне MIB OIDы
принадлежат различным организациям, занимающимся стандартизацией, в то
время как на более низком уровне OIDы выделяются ассоциированными
организациями. Эта модель обеспечивает управление на всех слоях сетевой
модели OSI, так как MIBы могут быть определены для любых типов данных и
операций.
Управляемый объект — это одна из любого числа характеристик, специфических
для управляемого устройства. Управляемый объект включает в себя один или
более экземпляров объекта (идентифицируемых по OID), которые на самом деле
переменные.
Существует два типа управляемых объектов:
Скалярные объекты определяют единственный экземпляр объекта.
Табличные объекты определяют множественные,
объектов, которые группируются в таблицах MIB.
связанные
экземпляры
Идентификатор объекта (OID) уникально идентифицирует управляемый объект в
иерархии MIB.
Управляющая база данных MIB
Категории объектов MIB
Системные переменные
Переменные интерфейсов
IP-группа
TCP-группа
ICMP-группа
АТ-группа (преобразование адресов)
SNMP-группа
UDP-группа
Расширения MIB, специфические для компаний производителей
оборудования
Префиксы фирм-производителей оборудования
Формат записи маршрутной информации
Группа RMON
Вся управляющая информация для контроля ЭВМ и маршрутизаторами
Интернет концентрируется в базе данных MIB (Management Information Base, RFC1213 или STD0017). Именно эти данные используются протоколом SNMP. Система
SNMP состоит из трех частей: менеджера SNMP, агента SNMP и базы данных MIB.
Агент SNMP должен находиться резидентно в памяти объекта управления. SNMPменеджер может быть частью системы управления сетью NMS (Network
Management System), что реализуется, например, в маршрутизаторах компании
CISCO (CiscoWorks).
MIB определяет, например, что IP программное обеспечение должно
хранить число всех октетов, которые приняты любым из сетевых интерфейсов,
управляющие программы могут только читать эту информацию.
Согласно нормативам MIB управляющая информация делится на восемь
категорий.
Категории объектов MIB
MIB-категория включает в себя информацию о (префикс=1.3.6.1.2.1)
MIBкатегория
Описание
Код
system
Операционная система ЭВМ или маршрутизатора.
1
Interfaces
Сетевой интерфейс.
2
addr.trans
Преобразование адреса (напр., с помощью ARP).
3
IP
Программная поддержка протоколов Интернет.
4
ICMP
Программное обеспечение ICMP-протокола.
5
TCP
Программное обеспечение TCP-протокола.
6
UDP
Программное обеспечение UDP-протокола.
7
EGP
Программное обеспечение EGP-протокола.
8
cmot
(группа в настоящее время не используется).
9
Trans
Transmission
10
SNMP
Программное обеспечение SNMP-протокола.
11
Системные переменные
Системные переменные MIB (префикс=1.3.6.1.2.1.1)
Системная Описание
переменная
Код
Sysdescr
Текстовое описание объекта;
1
Sysobjectid
Идентификатор производителя в рамках дерева 1.3.6.1.4.1
2
Sysuptime
Время с момента последней загрузки системы (timeticks);
3
Syscontact
Имя системного менеджера и способы связи с ним;
4
Sysname
Полное имя домена;
5
Syslocation
Физическое местоположение системы;
6
Sysservice
Величина, которая характеризует услуги, предоставляемые
узлом (сумма номеров уровней модели OSI);
7
Переменные интерфейсов
Переменные IFtable (интерфейсы; префикс=1.3.6.1.2.1.2)
Переменная
описания
интерфейсов
(iftable)
Тип данных Описание
IFindex
integer
IfDescr
displaystring Текстовое описание интерфейса.
2
IfType
integer
Тип интерфейса, например, 6 ethernet; 9 - 802.5 маркерное
кольцо; 23 - PPP; 28 - SLIP.
3
IfNumber
integer
Число сетевых интерфейсов.
IfMTU
integer
mtu для конкретного интерфейса;
4
IfSpeed
gauge
Скорость в бит/с.
5
IfPhysaddress
physaddress Физический адрес или строка
нулевой длины для интерфейсов без
физического адреса (напр.
последовательный).
6
IfAdminStatus
[1...3]
7
Список интерфейсов от 1 до
ifnumber.
Требуемое состояние интерфейса: 1
ifEntry
1
- включен; 2 - выключен; 3 тестируется.
IfOperStatus
[1...3]
Текущее состояние интерфейса: 1 включен; 2 - выключен; 3 тестируется.
8
IfLastchange
timeticks
Sysuptime, когда интерфейс
оказался в данном состоянии.
9
IfInOctets
counter
Полное число полученных байтов.
10
IfInUcastpkts
counter
Число пакетов, доставленных на
верхний системный уровень
(unicast).
11
IfInNUcastpkts
counter
Число пакетов, доставленных на
верхний системный уровень
(unicast).
12
IfInDiscads
counter
Число полученных но отвергнутых
пакетов.
13
IfInErrors
counter
Число пакетов, полученных с
ошибкой;
14
IfInUnknownProtos counter
Число пакетов, полученных с
ошибочным кодом протокола;
15
IfOutOctets
counter
Число отправленных байтов;
16
IfOutUcastPkts
counter
Число unicast- пакетов, полученных с
верхнего системного уровня;
17
IfOutNucastPkts
counter
Число мультикастинг- и
широковещательных пакетов,
полученных с верхнего системного
уровня;
18
IfOutDiscads
counter
Количество отвергнутых пакетов из
числа отправленных;
19
IfOutErrors
counter
Число отправленных пакетов,
содержащих ошибки;
20
IfOutQlen
gauge
Число пакетов в очереди на
отправку;
21
Ниже представлена таблица цифро-точечного представления переменных,
характеризующих состояние интерфейса. Эта таблица может быть полезной для
программистов, занятых проблемами сетевой диагностики.
Название объекта
Цифра-точечное представление
org
1.3
dod
1.3.6
internet
1.3.6.1
directory
1.3.6.1.1
mgmt
1.3.6.1.2
experimental
1.3.6.1.3
private
1.3.6.1.4
enterprises
1.3.6.1.4.1
security
1.3.6.1.5
snmpV2
1.3.6.1.6
snmpDomains
1.3.6.1.6.1
snmpProxys
1.3.6.1.6.2
snmpModules
1.3.6.1.6.3
snmpMIB
1.3.6.1.6.3.1
snmpMIBObjects
1.3.6.1.6.3.1.1
snmpTraps
1.3.6.1.6.3.1.1.5
mib-2
1.3.6.1.2.1
ifMIB
1.3.6.1.2.1.31
interfaces
1.3.6.1.2.1.2
ifMIBObjects
1.3.6.1.2.1.31.1
ifConformance
1.3.6.1.2.1.31.2
ifTableLastChange
1.3.6.1.2.1.31.1.5
ifXTable
1.3.6.1.2.1.31.1.1
ifStackTable
1.3.6.1.2.1.31.1.2
ifStackLastChange
1.3.6.1.2.1.31.1.6
ifRcvAddressTable
1.3.6.1.2.1.31.1.4
ifTestTable
1.3.6.1.2.1.31.1.3
ifXEntry
1.3.6.1.2.1.31.1.1.1
ifName
1.3.6.1.2.1.31.1.1.1.1
ifInMulticastPkts
1.3.6.1.2.1.31.1.1.1.2
ifInBroadcastPkts
1.3.6.1.2.1.31.1.1.1.3
ifOutMulticastPkts
1.3.6.1.2.1.31.1.1.1.4
ifOutBroadcastPkts
1.3.6.1.2.1.31.1.1.1.5
ifLinkUpDownTrapEnable
1.3.6.1.2.1.31.1.1.1.14
ifHighSpeed
1.3.6.1.2.1.31.1.1.1.15
ifPromiscuousMode
1.3.6.1.2.1.31.1.1.1.16
ifConnectorPresent
1.3.6.1.2.1.31.1.1.1.17
ifAlias
1.3.6.1.2.1.31.1.1.1.18
ifCounterDiscontinuityTime
1.3.6.1.2.1.31.1.1.1.19
ifStackEntry
1.3.6.1.2.1.31.1.2.1
ifStackHigherLayer
1.3.6.1.2.1.31.1.2.1.1
ifStackLowerLayer
1.3.6.1.2.1.31.1.2.1.2
ifStackStatus
1.3.6.1.2.1.31.1.2.1.3
ifRcvAddressEntry
1.3.6.1.2.1.31.1.4.1
ifRcvAddressAddress
1.3.6.1.2.1.31.1.4.1.1
ifRcvAddressStatus
1.3.6.1.2.1.31.1.4.1.2
ifRcvAddressType
1.3.6.1.2.1.31.1.4.1.3
ifTestEntry
1.3.6.1.2.1.31.1.3.1
ifTestId
1.3.6.1.2.1.31.1.3.1.1
ifTestStatus
1.3.6.1.2.1.31.1.3.1.2
ifTestType
1.3.6.1.2.1.31.1.3.1.3
ifTestResult
1.3.6.1.2.1.31.1.3.1.4
ifTestCode
1.3.6.1.2.1.31.1.3.1.5
ifTestOwner
1.3.6.1.2.1.31.1.3.1.6
ifGroups
1.3.6.1.2.1.31.2.1
ifCompliances
1.3.6.1.2.1.31.2.2
ifGeneralInformationGroup
1.3.6.1.2.1.31.2.1.10
ifFixedLengthGroup
1.3.6.1.2.1.31.2.1.2
ifHCFixedLengthGroup
1.3.6.1.2.1.31.2.1.3
ifPacketGroup
1.3.6.1.2.1.31.2.1.4
ifHCPacketGroup
1.3.6.1.2.1.31.2.1.5
ifVHCPacketGroup
1.3.6.1.2.1.31.2.1.6
ifRcvAddressGroup
1.3.6.1.2.1.31.2.1.7
ifStackGroup2
1.3.6.1.2.1.31.2.1.11
ifCounterDiscontinuityGroup
1.3.6.1.2.1.31.2.1.13
ifGeneralGroup
1.3.6.1.2.1.31.2.1.1
ifTestGroup
1.3.6.1.2.1.31.2.1.8
ifStackGroup
1.3.6.1.2.1.31.2.1.9
ifOldObjectsGroup
1.3.6.1.2.1.31.2.1.12
ifCompliance2
1.3.6.1.2.1.31.2.2.2
ifCompliance
1.3.6.1.2.1.31.2.2.1
ifNumber
1.3.6.1.2.1.2.1
ifTable
1.3.6.1.2.1.2.2
ifEntry
1.3.6.1.2.1.2.2.1
ifIndex
1.3.6.1.2.1.2.2.1.1
ifDescr
1.3.6.1.2.1.2.2.1.2
ifType
1.3.6.1.2.1.2.2.1.3
ifMtu
1.3.6.1.2.1.2.2.1.4
ifSpeed
1.3.6.1.2.1.2.2.1.5
ifPhysAddress
1.3.6.1.2.1.2.2.1.6
ifAdminStatus
1.3.6.1.2.1.2.2.1.7
ifOperStatus
1.3.6.1.2.1.2.2.1.8
ifLastChange
1.3.6.1.2.1.2.2.1.9
ifInOctets
1.3.6.1.2.1.2.2.1.10
ifInUcastPkts
1.3.6.1.2.1.2.2.1.11
ifInNUcastPkts
1.3.6.1.2.1.2.2.1.12
ifInDiscards
1.3.6.1.2.1.2.2.1.13
ifInErrors
1.3.6.1.2.1.2.2.1.14
ifInUnknownProtos
1.3.6.1.2.1.2.2.1.15
ifOutOctets
1.3.6.1.2.1.2.2.1.16
ifOutUcastPkts
1.3.6.1.2.1.2.2.1.17
ifOutNUcastPkts
1.3.6.1.2.1.2.2.1.18
ifOutDiscards
1.3.6.1.2.1.2.2.1.19
ifOutErrors
1.3.6.1.2.1.2.2.1.20
ifOutQLen
1.3.6.1.2.1.2.2.1.21
ifSpecific
1.3.6.1.2.1.2.2.1.22
IP-группа
Переменные IP-группы (префикс=1.3.6.1.2.1.4)
Переменная IPгруппы
Тип данных
Описание
Код
ipForwarding
integer
Указание на то, что данный
объект осуществляет
переадресацию (работает
как маршрутизатор).
1
IPdefaultTTL
integer
Значение, которое
использует IP в поле TTL.
2
IPinreceives
counter
Число полученных
дейтограмм.
3
ipInHdrErrors
counter
Число дейтограмм,
отвергнутых из-за ошибок
формата или неверных
адресов или опций, из-за
истекшего TTL.
4
ipInHdrErrors
counter
Число дейтограмм,
отвергнутых из-за
неверного IP-адреса,
например, 0.0.0.0, или
неподдерживаемого
класса, например Е.
5
ipForwDatagrams
counter
Число дейтограмм, для
которых данный объект не
является местом
назначения
(маршрутизация
отправителя).
6
ipInUnknownProtos
counter
Число дейтограмм с
неподдерживаемым кодом
протокола.
7
ipInDiscards
counter
Число дейтограмм,
отвергнутых из-за
переполнения буфера.
8
ipInDelivers
counter
Полное число входных
дейтограмм, успешно
обработанных на IPуровне.
9
ipOutRequests
counter
Полное число IP и ICMP
дейтограмм, переданных
для отправки.
10
ipOutRequests
counter
Полное число IP и ICMP
дейтограмм, переданных
для отправки.
11
IPoutNoroutes
counter
Число неудач при
маршрутизации.
12
ipReasmTimeout
counter
Максимальное число
13
секунд ожидания сборки
фрагментов.
ipReasmReqds
counter
Число полученных
фрагментов
14
ipReasmOKs
counter
Число полученных и
успешно собранных IPдейтограмм
15
ipReasmFails
counter
Число полученных IPдейтограмм, которые по
тем или иным причинам не
удалось собрать
16
IPFragOKs
counter
Число успешно
фрагментированных IPдейтограмм.
17
ipFragFails
counter
Число IP- дейтограмм,
которые нужно
фрагментировать, но
сделать это нельзя
(например, из-за флага).
18
ipFragCreates
counter
Число IP-дейтограмм
фрагментов,
сформированных данным
объектом.
19
ipAddrTable
counter
Таблица адресной
информации данного
объекта.
20
ipRouteTable
Последовательность Запись в маршрутной
записей
таблице
маршрутной
таблицы
21
ipAddrEntry
IPAdEntAddr
IPaddress
IP-адрес для данного ряда
1
IPadentifindex
integer
Число интерфейсов.
2
IPadentnetmask
IPaddress
Маска субсети для данного
IP-адреса;
3
IPAdEntBcastAddr
[0...1]
Значение младшего бита
4
широковещательного
адреса (обычно 1);
IPAdEntReasmMaxsize [0...65535]
Размер наибольшей IPдейтограммы, полученной
интерфейсом, которая
может быть собрана.
5
Помимо простых переменных объектами MIB могут быть таблицы. Для
каждой таблицы имеется один или несколько индексов.
TCP-группа
Переменные TCP-группы (префикс=1.3.6.1.2.1.6)
Переменные
TCP-группы
Тип
данных
Описание
Код
tcpRtoAlgorithm integer
Алгоритм выявления таймаута для
повторной передачи TCP-пакетов: 1 - ни
один из следующих; 2 - постоянное RTO; 3 стандарт MIL-std-1778; 4 - алгоритм Ван
Джакобсона
1
tcpRtoMin
integer
Минимальное допустимое время
повторной передачи tcp- пакетов.
2
tcpRtoMax
integer
Максимальное значение тайм-аута в
миллисек.
3
tcpMaxConn
integer
Максимальное допустимое число tcpсоединений.
4
tcpActiveOpens
integer
Число TCP-соединений Active-Open
5
tcpPassiveOpens integer
Число TCP-соединений Passive-Open (из
состояния LISTEN)
6
tcpAttemptFails
integer
Число неудачных TCP-соединений
7
tcpEstabResets
integer
Число разрывов TCP-соединений из
состояний ESTABLISHED или CLOSE-WAIT
8
tcpCurrEstab
Gauge
Число TCP-соединений, для которых
текущее состояние ESTABLISHED или CLOSEWAIT
9
tcpInSegs
counter
Полное число полученных tcp-сегментов.
10
tcpOutSegs
counter
Полное число посланных сегментов,
исключая повторно пересылаемые.
11
tcpRetransSegs
counter
Полное число повторно пересланных
сегментов.
12
tcpConnTable
counter
Таблица данных специфичных для
соединения
13
tcpInErrs
counter
Полное число сегментов, полученных с
ошибкой.
14
tcpOutRsts
counter
Полное число посланных сегментов с
флагом rst=1.
15
tcpconntable. tcp-таблица связей
tcpconnstate
[1...12]
Состояние соединения: 1 - closed; 2 - listen; 3 syn_sent; 4 - syn_rcvd; 5 - established, 6 fin_wait_1; 7 - fin_wait_2; 8 - close_wait; 9 last_ack; 10 - closing; 11 - time_wait;, 12 - delete
TCB. Только последняя переменная может
устанавливаться менеджером, немедленно
прерывая связь.
tcpconnlocal
address
ipaddress
Местный IP-адрес. 0.0.0.0 означает, что
приемник готов установить связь через любой
из интерфейсов.
tcpconnlocal
port
[0...65535] Местный номер порта.
tcpconnlocal
address
ipaddress
tcpconnrem
port
[0...65535] Удаленный номер порта.
Удаленный ip-адрес.
ICMP-группа
Переменные ICMP-группы (тип данных - counter; префикс=1.3.6.1.2.1.5)
Переменная icmpгруппы
Описание
Код
icmpInMsgs
Полное число полученных ICMP-сообщений.
1
icmpInErrors
Число ICMP-сообщений, полученных с
ошибками.
2
icmpInDestUnreach
Число ICMP-сообщений о недостижимости
адресата.
3
icmpintimeexcds
Число ICMP-сообщений об истечении времени.
4
icmpInParmProbs
Число полученных ICMP-сообщений о
проблемах с параметрами.
5
icmpInSrcQuench
Число ICMP-сообщений с требованием
сократить или прервать посылку пакетов из-за
перегрузки.
6
icmpInRedirects
Число ICMP-сообщений о переадресации.
7
icmpInEchos
Число полученных ICMP-запросов отклика.
8
icmpInEchoReps
Число полученных ICMP-эхо- откликов.
9
icmpInTimestamps
Число ICMP-запросов временных меток.
10
icmpInTimestampReps
Число ICMP-откликов временных меток.
11
icmpInAddrMasks
Число ICMP-запросов адресных масок.
12
icmpInAddrMaskReps
Число ICMP-откликов на запросы адресных
масок.
13
icmpOutMsgs
Число отправленных ICMP- сообщений.
14
icmpOutErrors
Число не отправленных ICMP- сообщений из-за
проблем в ICMP (напр. нехватка буферов).
15
icmpOutDestUnreachs
Число ICMP-сообщений о недоступности
адресата.
16
icmpOutTimesExcds
Число посланных ICMP-сообщений об
истечении времени.
17
icmpOutParmProbs
Число посланных ICMP-сообщений о проблемах
с параметрами.
18
icmpOutSrcQuench
Число посланных ICMP-сообщений об
уменьшении потока пакетов.
19
icmpOutRedirects
Число посланных ICMP-сообщений о
переадресации.
20
icmpOutEchos
Число посланных ICMP-эхо-запросов.
21
icmpOutEchoReps
Число посланных ICMP-эхо-откликов.
22
icmpOutTimestamps
Число посланных ICMP-запросов временных
23
меток.
icmpOutTimestampReps Число посланных ICMP-откликов на запросы
временных меток.
24
icmpOutAddrMasks
25
Число посланных ICMP-запросов адресных
масок.
АТ-группа (преобразование адресов)
Переменные AT-группы (attable, преобразование адресов; префикс=1.3.6.1.2.1.3).
Переменные
at-группы
Тип данных
Описание
atIfIndex
integer
Число интерфейсов.
1
Физический адрес. Если эта
переменная равна строке нулевой
длины, физический адрес
отсутствует.
2
atPhysAddress physaddress
atNetAddress
networkaddress IP-адрес.
atEntry
3
Каждый протокол (например IP) имеет свою таблицу преобразования
адресов. Для IP это ipnettomediatable. Способ пропечатать эту таблицу с помощью
программы SNMPI описан ниже.
SNMP-группа
MIB II содержит управляемые объекты, принадлежащие к группе snmp.
SNMP-группа предоставляет информацию о SNMP-объектах, информационных
потоках, о статистике ошибок (префикс=1.3.6.1.2.1.11):
Переменные SNMP-группы (тип данных - counter; префикс=1.3.6.1.2.1.11)
Название объекта
Описание
snmpInPkts
Число пакетов, полученных от слоя,
расположенного ниже SNMP.
1
snmpOutPkts
Число пакетов доставленных от SNMP к
нижележащему слою.
2
snmpInBadVersions
Индицирует число PDU, полученных с
ошибкой в поле версия.
3
snmpInBadCommunityNames Индицирует число PDU, полученных с
нечитаемым или нелегальным именем
community.
Код
4
snmpInBadCommunityUses
Полное число SNMP-пакетов, полученных с
нечитаемым или нелегальным значение
операции для данного имени community.
5
snmpInAsnParsErrs
Указывает полное число ошибок ASN.1 или
BER, которые не могут быть обработаны во
входных SNMP-сообщениях
6
snmpInTooBigs
Указывает число полученных PDU со
слишком большим значением поля статус
ошибки.
8
snmpInNoSuchNames
Указывает число PDU, полученных с
индикацией ошибки в поле nosuchname.
9
snmpInBadValues
Указывает число PDU, полученных с
индикацией ошибки в поле badvalue.
10
snmpInReadOnlys
Указывает число PDU, полученных с
индикацией ошибки в поле readonly.
11
snmpNnGenErrs
Указывает число PDU, полученных с
generr-полем.
12
snmpInTotalReqVar
Указывает число объектов MIB, которые
были восстановлены.
13
snmpInTotalSetVars
Указывает число объектов MIB, которые
были изменены.
14
snmpInGetRequests
Указывает число соответствующих pdu,
которые были получены.
15
snmpInGetNexts
Указывает полное число pdu с запросами
GetNext
16
snmpInSetRequests
Указывает полное число pdu, полученных с
запросами SET
17
snmpInGetResponses
Указывает полное число pdu, полученных c
откликами на запросы
18
snmpInTraps
Указывает полное число, полученных и
успешно обработанныз TRAP
19
snmpOutTooBig
Указывает число посланных PDU с полем
toobig.
20
snmpOutNoSuchNames
Указывает число посланных PDU с полем
nosuchname.
21
snmpOutBadValues
Указывает число посланных PDU с полем
badvalue.
22
snmpOutGenErrs
Указывает число посланных PDU с полем
genErrs.
24
snmpOutGetRequests
Указывает число посланных PDU GetRequest
25
snmpOutGetNexts
Указывает число посланных PDU Get-NEXT
26
snmpOutSetRequests
Указывает число посланных PDU SET
27
snmpOutGetResponses
Указывает число посланных PDU откликов
28
snmpOutTraps
Указывает число посланных PDU TRAPs
29
snmpEnableAuthTraps
Говорит о том, разрешены или нет
ловушки (TRAPS).
30
Стандарт на структуру управляющей информации (SMI) требует, чтобы все
MIB-переменные были описаны и имели имена в соответствии с ASN.1 (abstract
syntax notation 1, формализованный синтаксис). ASN.1 является формальным
языком, который обладает двумя основными чертами:
используемая в документах нотация легко читаема и понимаема, а в
компактном кодовом представлении информация может использоваться
коммуникационными протоколами. В SMI не используется полный набор типов
объектов, предусмотренный в ASN.1, разрешены только следующие типы
примитивов: integer, octet string, object identifier и null. Практически в протоколе
SNMP фигурируют следующие виды данных:
integer. Некоторые переменные объявляются целыми (integer) с указанием
начального значения или с заданным допустимым диапазоном значений (в
качестве примера можно привести номера UDP- или TCP-портов).
octet string (последовательность байтов). В соответствии с требованиями BER
(basic encoding rules, ASN.1) последовательность октетов должна начинаться с
числа байт в этой последовательности (от 0 до n).
object identifier (идентификатор объекта). Имя объекта, представляющее собой
последовательность целых чисел, разделенных точками. Например,
192.148.167.129 или 1.3.6.1.2.1.5.
null. Указывает, что соответствующая переменная не имеет значения.
displaystring. Строка из 0 или более байт (но не более 255), которые представляют
собой ASCII-символы. Представляет собой частный случай octet string.
physaddress. Последовательность октетов, характеризующая физический адрес
объекта (6 байт для Ethernet). Частный случай object identifier.
Сетевой адрес. Допускается выбор семейства сетевых протоколов. В рамках
ASN.1 этот тип описан как choice, он позволяет выбрать протокол из семейства
протоколов. В настоящее время идентифицировано только семейство протоколов
Интернет.
IP-адрес. Этот адрес используется для определения 32-разрядного Интернетадреса. В нотации ASN.1 - это octet string.
time ticks (такты часов). Положительное целое число, которое используется для
записи, например, времени последнего изменения параметров управляемого
объекта, или времени последней актуализации базы данных. Время измеряется в
сотых долях секунды.
gauge (масштаб). Положительное целое число в диапазоне 0 - (232-1), которое
может увеличиваться или уменьшаться. Если эта переменная достигнет величины
232-1, она будет оставаться неизменной до тех пор пока не будет обнулена
командой сброс. Примером такой переменной может служить tcpcurresta,
которая характеризует число TCP соединений, находящихся в состоянии
established или close_wait.
counter (счетчик). Положительное целое число в диапазоне 0 - (232-1), которое
может только увеличиваться, допуская переполнение.
sequence. Этот объект аналогичен структуре в языке Си.
Например, MIB определяет sequence с именем udpentry, содержащую
информацию об активных UDP-узлах. В этой структуре содержится две записи:
1. UDPlocaladdress типа ipaddress, содержит местные IP-адреса.
2. UDPlocalport типа integer, содержит номера местных портов.
SEQUENCE OF. Описание вектора, все элементы которого имеют один и тот же
тип. Элементы могут представлять собой простые объекты, например, типа
целое. В этом случае мы имеем одномерный список. Но элементами вектора
могут быть объекты типа SEQUENCE, тогда этот вектор описывает двумерный
массив.
В Интернет MIB каждый объект должен иметь имя (object identifier),
синтаксис и метод кодировки.
Стандарт ASN.1 определяет форму представления информации и имен.
Имена переменных MIB соответствуют в свою очередь стандартам ISO и CCITT.
Структура имен носит иерархический характер, отображенный на рис. 4.4.13.1.1.
Рис. 4.4.13.1.1 Структура идентификаторов переменных в MIB
В приведенной ниже таблице охарактеризованы четыре простые
переменные, идентификаторы которых помещены в нижней части рис. 4.4.13.1.1.
Все эти переменные допускают только чтение.
UDP-группа
Переменные UDP-группы (тип данных - counter; префикс=1.3.6.1.2.1.7)
Имя переменной
Тип
данных
Описание
Код
udpInDatagrams
counter Число UDP-дейтограмм, присланных
процессам пользователя.
1
udpNoPorts
counter Число полученных UDP-дейтограмм, для
которых отсутствует прикладной процесс в
порте назначения.
2
udpInErrors
counter Число не доставленных UDP-дейтограмм по
причинам, отличающимся от отсутствия
процесса со стороны порта назначения
3
(напр., ошибка контрольной суммы).
udpOutDatagrams counter Число посланных UDP-дейтограмм.
4
udpTable
5
counter Таблица, содержащая данные о
принимающей стороне
Ниже приведено описание таблицы (udptable; index = <udplocaladdress>,
<udplocalport>), состоящей из двух простых переменных (read-only).
Таблица 4.4.13.1.8a. Переменные UDP-группы (тип данных - counter;
префикс=1.3.6.1.2.1.7)
Имя переменной
Тип данных
Описание
udplocaladdress
ipaddress
Местный IP-адрес для данного приемника;
udplocalport
(0 - 65535)
Местный номер порта приемника.
Согласно этой иерархии переменные, соответствующие ICMP, должны
иметь префикс (идентификатор) 1.3.6.1.2.1.5 или в символьном выражении
iso.org.dod.internet.mgmt.mib.icmp. Если вы хотите узнать значение какой-то
переменной, следует послать запрос, содержащий соответствующий префикс и
суффикс, последний определяет имя конкретной переменной. Для простой
переменной суффикс имеет вид .0. Ветвь структуры на рис. 4.4.13.1.1,
завершающейся узлом Interfaces (2) имеет продолжение в виде ifTable(2) и
ifEntry(1). Таким образом переменная ifInUcastPkts будет иметь представление
1.3.6.1.2.1.2.2.1.11.
В версии MIB-I не делалось отличия между различными типами
транспортной среды. Для решения этой задачи была создана новая
группа Transmission:
transmission OBJECT IDENTIFIER ::= { mib-2 10 }
когда в стандарте Internet будет определена система управления
транспортировкой, группа transmission будет использоваться для формирования
префикса имен этих объектов.
Сначала такие определения должны появиться в экспериментальном
разделе MIB. Согласно договоренности группа будут иметь имя:
type OBJECT IDENTIFIER ::= { transmission number }
где "type" имеет символическое значение, используемое для среды в
колонке ifType объекта ifTable,
а
"number"
равно
действительному
целочисленному коду, соответствующему символу.
Расширения MIB, специфические для компаний производителей оборудования
Помимо стандартного набора переменных и таблиц MIB возможно
использование индивидуальных расширений этой базы данных. Это можно
продемонстрировать на примере MIB маршрутизаторов Cisco (рис. 4.4.13.1.2).
Рис. Расширение базы данных mib маршрутизаторов Cisco
Префикс 1.3.6.1.4.1. является стандартным, далее следует расширение,
индивидуальное для маршрутизаторов компании Cisco. Например, группа
IPcheckpoint accounting позволяет контролировать поток байтов с определенных
адресов локальной сети, что бывает важно при работе с коммерческими
провайдерами услуг.
Коды-префиксы для различных производителей телекоммуникационного
оборудования приведены в таблице 4.4.13.1.8.
Префиксы фирм-производителей оборудования
Коды-префиксы производителей
Код префикса
Название фирмы
0
Зарезервировано
1
Proteon
2
IBM
3
CMU
4
UNIX
5
ACC
6
TWG
7
Cayman
8
PSI
9
Cisco
10
NSC
11
HP
12
Epilogue
13
U of Tennessee
14
BBN
15
Xylogics, inc.
16
Unisys
17
Canstar
18
Wellfleet
19
TRW
20
MIT
Группа локальных переменных IP checkpoint accounting (1.3.6.1.4.1.9.2.4.7.1)
представляет собой таблицу, содержащую в каждом рекорде по четыре
переменных (в скобках указан суффикс адреса MIBдля переменной):




ckactbyts [4] - число переданных байт,
ckactdst [2] - адрес места назначения,
ckactpkts [3] - число переданных пакетов
ckactsrc [1] - адрес отправителя
Маршрутизаторы Cisco поддерживают две базы данных: active accounting и
checkpoint accounting. В первую заносятся текущие результаты измерения
входящего и исходящего трафика. Эти результаты копируются в базу данных
checkpoint accounting и, если там уже имеются предыдущие данные, они
объединяются. Для очистки базы данных checkpointed database выдается
команда clear IP accounting, а для базы checkpoint - clear IP accounting checkpoint
(для использования этих команд необходимы системные привилегии). Объем
памяти, выделяемой для этих баз данных задается командой IP accountingthreshold <значение>, по умолчанию максимальное число записей в базе данных
равно 512.
Группа RMON
Функциональные группы RMON
Группа
Назначение
statistics
Таблица, которая отслеживает около 20 статистических
параметров сетевого трафика, включая общее число кадров и
количество ошибок
history
Позволяет задать частоту и интервалы для измерений трафика
alarm
Позволяет установить порог и критерии, при которых агенты
выдают сигнал тревоги
host
Таблица, содержащая все узлы сети, данные по которым
приводятся в сетевой статистике
hostTopN
Позволяет создать упорядоченные списки, которые
базируются на пиковых значениях трафика группы ЭВМ
matrix
Две таблицы статистики трафика между парами узлов. Одна
таблица базируется на адресах узлов-отправителей, другая - на
адресах узлов-получателей
filter
Позволяет определить конкретные характеристики кадров в
канале. Например, можно выделить TCP-трафик.
packet
capture
Работает совместно с группой filter. Позволяет
специфицировать объем ресурса памяти, выделяемой для
запоминания кадров, которые отвечают критериям filter.
event
Позволяет специфицировать набор параметров или условий,
которые должен контролировать агент. Когда условия
выполняются, информация о событии записывается в
специальный журнал
Для того чтобы реализовать функционирование RMON-агента, сетевая
карта должна быть способна работать в режиме 6 (promiscuous mode), когда
воспринимаются все пакеты, следующие по кабельному сетевому сегменту.
Ход работы.
1. Установить соединение с хостом 10.3.33.102 по протоколу SSH(логин – test,
пароль -123). Для соединения использовать программу PuTTY.
2. Ознакомиться с утилитой snmpwalk , входящую в программный комплекс
net-snmp, c помощью команды man.
>man snmpwalk
3. Выведите на экран все дерево объектов MIB для данного хоста.
>snmpwalk –c public –v 1 127.0.0.1
4. Чередуя префиксы (system,if,tcp,udp,ip и т.д.) ознакомьтесь с отдельными
группами объектов MIB для данного хоста.
Например >snmpwalk –c public –v 1 127.0.0.1 ip
5. Получив навык использования утилиты snmpwalk выясните для данного
хоста: его имя, географическое расположение, кол-во сетевых интерфейсов
(для каждого установить его тип, описание, состояние, физический адрес, ipадрес и маску подсети, если есть), сетевой маршрут по умолчанию.
6. Найденную информацию, подтвержденную выводом команды snmpwalk,
оформить в виде отчета.
Скачать