[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Web - технологии / Протоколы /

Протокол SNMP

С расширением компьютерных сетей возникла необходимость управлять ими. Это просто непрактично постоянно переходить c рабочей станции на сервер и назад на рабочую станцию, чтобы убедиться, что все в порядке. Вот здесь в игру вступает Протокол управления простыми сетями (SNMP).

Протокол SNMP

Протокол SNMP появился в конце 1980-х гг., когда возникла необходимость управлять растущими сетями и проверять определенные условия функционирования данных сетей. Большинство протоколов в TCP/IP построены на основе модели клиент/сервер. За исключением небольших различий в плане определения синтаксиса протокол SNMP из той же категории.

Существует несколько хорошо известных программ, использующих SNMP в качестве части их набора управления сетями. Среди них IBM Tivoli и HP Openview. Они обе используют протокол SNMP. Именно благодаря этому протоколу, а если точнее, то принципу его работы, администраторы с легкостью могут управлять самыми большими сетями.

SNMP и его версии

В настоящий момент существует три версии протокола: SNMPv1, SNMPv2c, и SNMPv3. Каждая последующая версия построена на основе предыдущей с добавлением каких-то новых функций. Вы неправы, если считаете, что самая последняя версия является самой распространенной. На самом деле первая версия пользуется большей популярностью вследствие своей простоты и нормального человеческого желания использовать проверенные вещи.

Между тремя версиями существуют значительные различия. SNMPv1 отлично справлялся со своей задачей, но в нем были некоторые недостатки, в частности, безопасность была практически на нулевом уровне. Сообщения передавались открытым текстом, и могли быть прочитаны любым владельцем анализатора пакетов. Это конечно же плохо. Поэтому появился SNMPv2, в котором были исправлены некоторые недостатки предшественника. В нем были изменены определения MIB (информационная база управления), PDU (узел данных протокола) и улучшена безопасность. Последнее выразилось в виде целостности данных через использование MD5 и алгоритма шифрования DES. И наконец появилась защита от атак в виде процедуры аутентификации.

Версии версии!

На самом деле существует 4 варианта версии SNMPv2: SNMPv2c (ориентирован на сообщество), SNMPv2* (также известный как «звезда»), SNMPv2u (ориентирован на пользователя) и SNMPv2. Одной из причин плохой распространенности данной версии была ее запутанность и, соответственно, сложность использования.

На волне проблем с безопасностью в SNMPv1 и v2, а также сложности SNMPv2 появилась необходимость устранить эти недостатки. В результате вышла версия SNMPv3. Улучшенная безопасность выразилась в виде аутентификации через хэширование, временные отметки и шифрование сообщений. Последняя версия не такая сложная как вторая и более безопасна, нежели первая. Но несмотря на все это, первая версия самая распространенная.

Какие же сообщения можно увидеть в трафике SNMP? Это хороший вопрос, и мы перечислим эти сообщения. Ради простоты мы перечислим типы сообщений PDU (узла данных протокола) в SNMPv1, потому что он самый используемый. Сообщения выглядят следующим образом:

GetRequest, GetNextRequest, GetResponse, SetRequest, Trap

В SNMPv2 и v3 появились и другие: GetBulkRequest и InformRequest. После подробного объяснения различных версий SNMP пришло время взглянуть на пакет SNMP. Разберем пакет SNMPv1 и остановимся на некоторых существенных моментах.

Ближе к практике

Что стоит сухая теория без практики? Разберем пакет, показывающий использование SNMPv1. Благодаря этому, мы увидим как работает SNMPv1: сообщения администратору о состоянии сети и ее неполадках. Взгляните на пакет, представленный ниже, а далее мы обсудим некоторые его моменты.

01:31:26.631025 192.168.1.200.161 > 192.168.1.100.40274: { SNMPv1
C=testnet-pub { GetResponse(90) R=1546751089
.1.3.6.1.2.1.2.2.1.10.24=3936973547 .1.3.6.1.2.1.2.2.1.16.24=3178
267035 .1.3.6.1.2.1.1.3.0=4268685032 .1.3.6.1.2.1.1.5.0="G"} } (ttl 255, id41656, len 148)
0x0000 4500 0094 a2b8 0000 ff11 151c c0a8 01c8 E...............
0x0010 c0a8 0164 00a1 9d52 0080 3f43 3076 0201 ........R..?C0v..
0x0020 0123 0123 0123 6574 2d70 7562 a266 0204 ..testnet-pub.f..
0x0030 5c31 8c71 0201 0002 0100 3058 3013 060a 1.q......0X0...
0x0040 2b06 0102 0102 0201 0a18 4105 00ea a972 +.........A....r
0x0050 eb30 1306 0a2b 0601 0201 0202 0110 1841 ..0...+.........A
0x0060 0500 bd70 819b 3011 0608 2b06 0102 0101 ....p..0...+.....
0x0070 0300 4305 00fe 6ef6 e830 1906 082b 0601 ...C...n..0...+..
0x0080 0201 0105 0004 0d47                     .......G

Я прокомментирую пакет с первой строки и справа налево. Нормальная временная отметка – это первое поле, за ней следует IP адрес и порт-источник. Обратите внимание, что портом-источником является 161, порт для SNMP. Далее идут IP адрес и порт места назначения. В скобках мы видим, что пакет сообщает о том, что это SNMPv1. Потом следует “community string”, хотя обычно значение по умолчанию - “read only”. В нашем случае имя community string - “testnet-pub”,  что видно из пакета.

Далее мы видим тип PDU “GetResponse”, а следом номер идентификации запроса в виде последовательности цифр с пробелами. Они называются OID или идентификаторы объекта. Они используются для определения периода работоспособности системы, пропускной способности NIC и нагрузки на сервер. Например, станция управления использует команду “GetRequest’s” для определенного компьютера, чтобы узнать нагрузку на сервер в данное время. Таким образом администратор использует SNMP для управления обширной сетью.

Это тот протокол, который нельзя сломать руками, для этого необходим как минимум анализатор протоколов, а еще лучше программа, поставляемая вместе с программным обеспечением управления сетями. А это, в свою очередь, позволит использовать вышеупомянутые OID. Поэтому SNMPv1 не самый лучший выбор. Все очень просто. Даже безграмотный хакер сможет причинить много вреда с помощью информации, извлеченной из пакета. Лучше всего обновить протокол до третьей версии. Вот и пришла пора заканчивать обзор протокола SNMP и прощаться. До встречи.

Дон Паркер (Don Parker)




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Web - технологии / Протоколы /

IP адрес: определение и сокрытие
15-03-2010   

Как известно, Internet основана на семействе протоколов tcp/ip, определяющих, каким образом осуществляется взаимодействие между подключенными к сети компьютерами. Идентификация этих компьютеров осуществляется с помощью так называемых IP-адресов... подробнее

Кол. просмотров: общее - 2781 сегодня - 1

Устранение неисправностей TCP/IP: Структурный подход
15-03-2010   

О чем вы думаете, когда слышите фразу устранение неисправностей с TCP/IP? Люди, которые обладают хорошим воображением могут сразу представить блок-схему... подробнее

Кол. просмотров: общее - 3056 сегодня - 1

Протокол NNTP
15-03-2010   

Все знают о таких программах для работы в одноранговой сети, как Napster, Kazaa и т.д. Однако сколько человек знают о новостных группах в двоичном формате? Держу пари, что немногие. Подобные группы основаны на протоколе NNTP, который и является основной целью написания настоящей статьи. Итак, читайте, чтобы узнать больше о NNTP... подробнее

Кол. просмотров: общее - 2937 сегодня - 0

Протокол FTP
15-03-2010   

Из огромного количества существующих протоколов только некоторые были созданы для передачи данных. Вопреки расхожему мнению Интернет - это не только HTTP и веб-сайты. В данной статье дается обзор протокола FTP и передачи данных с его помощью... подробнее

Кол. просмотров: общее - 7905 сегодня - 3

Протокол UDP
15-03-2010   

Передача информации из интернет происходит при помощи транспортных протоколов. Существует два транспортных протокола - TCP и UDP. В этой статье мы рассмотрим User Datagram Protocol или UDP... подробнее

Кол. просмотров: общее - 3098 сегодня - 2



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects