Учебник по SNMP: как работают snmpwalk и snmpget

Простой протокол управления сетью (SNMP) является одним из установленных протоколов для связи в компьютерных сетях. Различные инструменты управления используют этот клиент-серверный протокол, выпущенный в 1990 году, чтобы позволить пользователю централизованно контролировать и управлять всеми сетевыми устройствами, такими как маршрутизаторы, коммутаторы или системы NAS. Инструменты snmpwalk и snmpget позволяют получать записи из MIB (баз управленческой информации) выбранных SNMP-агентов, которые по умолчанию установлены на большинстве устройств Windows и Linux. Что именно могут делать эти два приложения и как они работают, объясняется в этом учебнике по SNMP.

Что скрывается за инструментами snmpwalk и snmpget?

Инструменты командной строки snmpwalk и snmpget являются частью набора Net-SNMP, который реализует и использует SNMP в сетях IPv4 и IPv6. Набор инструментов доступен для большинства систем UNIX и Linux (в менеджере пакетов), а также для Microsoft Windows, при этом функциональность отдельных приложений может несколько отличаться в зависимости от системы. snmpwalk и snmpget входят в число решений для получения информации от устройств с поддержкой SNMP с помощью простых GET-запросов (snmpget) или нескольких GETNEXT-запросов (snmpwalk).

В целях защиты вашей конфиденциальности видео не будет загружаться, пока вы не нажмете на него.

snmpget: простые SNMP-запросы

Приложение snmpget может использоваться для получения информации от абонента сети через простой протокол управления сетью. Оно использует SNMP-сообщение типа «GET», которое запрашивает определенную запись в целевой системе. Для этого в качестве аргументов необходимо указать хост (имя или IP-адрес), строку сообщества или информацию аутентификации (SNMPv3), а также соответствующий идентификационный номер (Object Identifier, OID).

snmpget [options] [community string/authentication information] [host name/address] [object identifier]

snmpwalk: SNMP-запросы полных MIB

С помощью инструмента snmpwalk вы можете получить не только конкретный набор данных о целевом устройстве с поддержкой SNMP, но и последующие наборы данных (например, относящиеся к таблицам). Для того чтобы запросить полное информационное дерево (т.е. полную MIB), snmpwalk использует сообщения типа «GETNEXT», которые запрашивают информацию у агента до тех пор, пока не будет достигнут конец соответствующей MIB. Синтаксис snmpwalk не отличается от простых запросов с помощью snmpget.

snmpwalk [options] [community string/authentification information] [host name/address] [OID]

Учебник SNMP: наиболее важные команды snmpget и snmpwalk

Как инструменты командной строки, snmpwalk и snmpget могут легко управляться из терминала или командной строки. Если вы установили пакет Net-SNMP в своей системе, вы можете сразу же начать запрашивать необходимую сетевую информацию, открыв соответствующую командную строку. В этом учебнике по SNMP мы приводим некоторые важные команды для обеих программ.

Примечание

Установочные пакеты для Net-SNMP можно найти в области загрузки на официальном сайте. Поскольку бинарные файлы для Windows основаны на OpenSSL версии 0.9.8r, установка не работает на системах, где установлена версия 1.0 или выше по причинам совместимости.

Вот как работает получение данных с помощью snmpget

Чтобы упростить знакомство с snmpget и его возможностями, в качестве первого шага вы можете обратиться к меню справки. В нем перечислены доступные параметры с краткими пояснениями, а открыть его можно с помощью следующей команды:

snmpget -h

То, как выглядит команда для стандартного запроса выбранной записи, зависит в первую очередь от версии протокола. Она указывается в параметрах и определяет, следует ли за ней строка сообщества (SNMPv1 и SNMPv2c) или соответствующий метод аутентификации (authNoPriv, authPriv, noAuthNoPriv), включая соответствующие учетные данные (SNMPv3). Например, чтобы запросить, доступно ли обновление прошивки или обновление операционной системы, введите один из следующих пяти вариантов команды, специфичных для конкретной версии:

snmpget query via SNMPv1:

snmpget -v1 -c [Community string] [IP address of the host] [OID for update check]

snmpget query via SNMPv2:

snmpget -v2c -c [Community string] [IP address of the host] [OID for update check]

snmpget query via SNMPv3 (аутентификация, но без шифрования):

snmpget -v3 -l authNoPriv -u [user name] -a MD5 -A [MD5 hash of user password] [IP address of host] [OID for update check]

snmpget запрос по SNMPv3 (аутентификация и шифрование):

snmpget -v3 -l authPriv -u [user name] -a MD5 -A [user password] -x DES -X [DES password] [IP address of host] [OID for update check]

snmpget запрос по SNMPv3 (без аутентификации и шифрования):

snmpget -v3 -l noAuthNoPriv -u [User name] [IP address of the host] [OID for update check]

Результатом запроса является числовое значение, информирующее о статусе обновления. Например, значение «1» означает, что обновление доступно, а значение «2» представлено, если микропрограмма или операционная система уже обновлены. Чтобы лучше читать и интерпретировать возвращаемые значения, загрузите требуемую MIB на компьютер, который вы используете для выполнения SNMP-запроса, и скопируйте соответствующий файл в каталог /usr/share/snmp/mibs. В Linux/UNIX для этой цели можно установить программу загрузки MIB, которая поможет вам в этом проекте.

sudo apt install snmp-mibs-downloader

Как запрашивать полные MIB с помощью snmpwalk

snmpwalk также дает вам возможность вызвать обзор необходимых и доступных параметров. Это справочное меню появляется после ввода следующей команды:

snmpwalk -h

snmpwalk также почти не отличается от snmpget, когда речь идет о получении данных. Основное различие заключается в выполнении команд: В то время как snmpget возвращает только одно значение запрошенного OID или выводит сообщение об ошибке, если ни один объект за идентификационным номером не доступен, snmpwalk также обходит все подузлы. Например, может быть выведен подробный список соответствующей системной информации, если известен идентификационный номер соответствующего MIB. Как и в случае простых GET-запросов, требуемые команды зависят от выбранной версии протокола:

snmpwalk query via SNMPv1:

<p>snmpwalk -v1 -c [Community string] [IP address of the host] [OID of the system information MIB]</p>

snmpwalk query via SNMPv2:

snmpwalk -v2c -c -c [Community string] [IP address of host] [OID of system information MIB]

snmpwalk запрос по SNMPv3 (аутентификация, но без шифрования):

snmpwalk -v3 -l authNoPriv -u [User name] -a MD5 -A [User password] [IP address of host] [OID of system information MIB]

snmpwalk query via SNMPv3 (аутентификация и шифрование):

snmpwalk -v3 -l authPriv -u [User name] -a MD5 -A [User password] -x DES -X [DES password] [IP address of host] [OID of system information MIB]

snmpwalk запрос по SNMPv3 (без аутентификации и шифрования):

snmpwalk -v3 -l noAuthNoPriv -u [User name] [IP address of the host] [OID of the system information MIB]

Резюме: snmpwalk и snmpget для простых SNMP-запросов

snmpwalk и snmpget помогут вам получить необходимые сетевые данные через простой протокол управления сетью. Являясь частью пакета Net-SNMP, эти два инструмента командной строки быстро устанавливаются в вашей системе и так же просты в использовании. Этот учебник по SNMP показал, как легко управлять отдельной частью информации или целым блоком информации, если вы знаете IP-адрес агента SNMP и соответствующий идентификатор объекта.

Оцените статью
cdelat.ru
Добавить комментарий