Опубликован: 10.10.2007 | Уровень: специалист | Доступ: платный
Лекция 8:

Сетевая диагностика. Протокол SNMP

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >
Аннотация: В данной лекции рассматриваются вопросы сетевой диагностики и протокол SNMP. Приведены базовые понятия и определения, а также основные свойства и методы применения протокола SNMP
Ключевые слова: ПО, диагностика, администратор, сеть, IP, MTU, RTT, поиск, Интернет, Ethernet, TCP, Unix, программа, интерфейс, Си, экранный пакет, системные привилегии, SOCKS, socket, UDP, параметры операций, Windows, протокол arp, служба печати, TCP-сокет, представление, сервер, DNS, RFC, адрес, SNMP, MIB, ICMP, размер пакета, маршрут, ping, traceroute, путь, TTL, внешние связи, файл, ADM, маршрутизация, FTPD, EGP, rlogin, системный журнал, конфигурация, поле, поток, передача данных, NoWait, идентификатор, UID, системный администратор, root, wrapper, безопасность, информация, отладка, контроль, Зоны ответственности, параметр, объект, надежность, маска, широковещательный адрес, команда, кабель, режим адресации, trailer, answer, персональная ЭВМ, имя объекта, assigned numbers, анализ, доступ, программное обеспечение, длина, маршрутизатор, gateway, host, значение, базы данных, public, пароль, активный интерфейс, банк данных, KVM, MSS, переменная, ACK, целостность, network management, protocol, management, information, AND, порт, интерпретация, base, abstract syntax, notation, трансляция, LAPB, группа, вход алгоритма, Protocol Data Unit, PDU, GET, set, идентификатор запроса, статус ошибки, ReadOnly, таблица, прерывание, distributed, interface, DPI, массив, ASN, запрос, индекс, org, DOD, Internet, engine, диспетчер, proxy, forwarder, процессор, протокольный блок данных, опцион, security model, MsgId, authoritative, trap, USM, секретный ключ, control, model, контекст, обмен информацией

Читатели неизбежно делятся на две категории:

  1. администраторы сети, которые формируют сетевую среду (подавляющее меньшинство);
  2. пользователи сети, кто вынужден эту среду осваивать и в ней жить.

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

Число компьютерных сетей увеличивается лавинообразно, растет число крупных (>10 ЭВМ). По мере увеличения сети усложняется ее обслуживание и диагностика, с чем сталкивается администратор при первом же отказе. Наиболее сложно диагностировать многосегментные сети, где ЭВМ разбросаны по большому числу помещений, далеко отстоящих друг от друга. По этой причине сетевой администратор должен начинать изучать особенности своей сети уже на фазе ее формирования и готовить себя и сеть к будущему ремонту. При возникновении нештатной ситуации администратор должен суметь ответить на ряд вопросов:

  • с чем связана проблема — с оборудованием или программным обеспечением;
  • чем вызван отказ — повреждением программы, неверным выбором конфигурации или ошибочными действиями оператора.

Начинать надо с исчерпывающего документирования аппаратной и программной части сети. Администратор всегда должен иметь под рукой схему сети, отвечающую реальному положению на текущий момент, и подробное описание конфигурации программного обеспечения с указанием всех параметров (физические и IP-адреса всех интерфейсов, маски, имена ЭВМ, маршрутизаторов, значения MTU и других системных переменных, типовые значения RTT и других параметров сети, измеренных в разных режимах).

В пределах локальной сети поиск неисправности возможен с помощью временного деления ее на части. По мере интеграции сети в Интернет такие простые меры становятся недостаточными или недопустимыми. Нужно помнить, что сопротивление тонкого коаксиального кабеля не должно превышать 10 Ом, а скрученная пара не должна иметь сопротивление больше 11,8 Ом (22AWG) и соответственно 18,8 Ом для 24AWG из расчета на 100 м.

Следует помнить, что сетевая диагностика является основой сетевой безопасности. Только администратор, знающий все о том, что происходит в сети, может быть уверен в ее безопасности.

Ниже будет предполагаться, что сеть на физическом уровне применяет стандарт Ethernet, а для межсетевой связи — протокол TCP/IP (Интернет). Этим перечнем разнообразие сетевых сред не исчерпывается, но многие приемы и программные диагностические средства с успехом могут использоваться и в других случаях. Большинство из рассматриваемых программ работают в среде UNIX, но существуют их аналоги и для других ОС. Проблемы маршрутизации и конфигурирования системы также выходят за рамки данного рассмотрения.

В Интернет имеется немало общедоступных специализированных диагностических программных продуктов: Etherfind, Tcpdump, netwatch, snmpman, netguard, ws_watch. Программа tcpdump переводит интерфейс ЭВМ в режим приема всех пакетов, пересылаемых по данному сетевому сегменту. Tcpdump написана на СИ, она отбирает и отображает на экране пакеты, посылаемые и получаемые данным интерфейсом. Критерии отбора могут варьироваться, что позволяет проанализировать выполнение различных сетевых процедур. В качестве параметров при обращении к программе могут использоваться наименования протоколов, номера портов и т.д., например, tcpdump TCP port 25 (программа полезна при отладке сетевых приложений). Существует довольно большое число модификаторов программы (опций). К сожалению, для рядовых пользователей программа не доступна — требуются системные привилегии. Описание применения программы можно найти в [10]. Другой полезной служебной программой является sock (socket или sockio). Эта программа способна посылать TCP- и UDP-пакеты, она может работать в четырех режимах.

  1. Программа устанавливает канал клиент-сервер и переадресует стандартный ввод серверу, а все полученные пакеты от сервера переправляет на стандартный вывод. Пользователь должен специфицировать имя сервера или его адрес и наименование операции или номер порта, ей соответствующий.
  2. Работа в режиме диалогового сервера (опция -s ). В этом режиме параметром операции является ее имя или номер порта (или комбинация IP-адреса и номера порта), например: sock -s 100. После установления связи с клиентом программа переадресовывает весь стандартный ввод клиенту, а все, что посылается клиентом, отправляет на стандартный вывод.
  3. Режим клиента-отправителя (опция -i ). Программа выдает в сеть заданное число раз (по умолчанию 1024) содержимое буфера с объемом в 1024 байта. Опции -n и -w позволяют изменить число и размер посылок.
  4. Режим приема и игнорирования данных из сети (опция -i и -s ).

Такие средства входят также и в комплекты поставки большинства стандартных сетевых пакетов для ОС UNIX, Windows и других: ping, traceroute, netstat, arp, snmpi, dig, hosts, nslookup, ifconfig, ripquery. Перечисленные выше диагностические программы являются необходимым инструментом для отладки программ, передающих и принимающих пакеты. Сводный перечень конфигурационных и диагностических команд стека протоколов TCP/IP представлен в таблице 8.1.

Таблица 8.1.
Название команды Назначение
arp Отображает или модифицирует таблицу протокола ARP (преобразование IP в MAC-адреса)
chnamsv Применяется для изменения конфигурации службы имен на ЭВМ (для TCP/IP)
chprtsv Изменяет конфигурацию службы печати на ЭВМ-клиенте или сервере
gettable Получает таблицы ЭВМ в формате NIC
hostent Непосредственно манипулирует записями адресного соответствия ЭВМ в конфигурационной базе данных системы
hostid Устанавливает или отображает идентификатор данной ЭВМ
hostname Устанавливает или отображает имя данной ЭВМ
htable Преобразует файлы ЭВМ в формат, используемый программами сетевой библиотеки
ifconfig Конфигурирует или отображает параметры сетевых интерфейсов ЭВМ (для протоколов TCP/IP)
ipreport Генерирует сообщение о маршруте пакета на основе специфицированного маршрутного файла
iptrace Обеспечивает отслеживание маршрута движения пакетов на интерфейсном уровне для протоколов Интернет
lsnamsv Отображает информацию базы данных DNS
lsprtsv Отображает информацию из базы данных сетевой службы печати
mkhost Создает файл таблицы ЭВМ
mknamsv Конфигурирует службу имен клиента (для TCP/IP)
mkprtsv Конфигурирует службу печати ЭВМ (для TCP/IP)
mktcpip Устанавливает требуемые величины для запуска TCP/IP на ЭВМ
namerslv Непосредственно манипулирует записями сервера имен для локальной программы DNS в базе данных конфигурирования системы
netstat Отображает состояние сети
no Конфигурирует сетевые опции
rmnamsv Удаляет TCP/IP службу имен из ЭВМ
rmprtsv Удаляет службу печати на машине клиента или сервере
route Служит для ручного манипулирования маршрутными таблицами
ruptime Отображает состояние каждой ЭВМ в сети
ruser Непосредственно манипулирует записями в трех отдельных системных базах данных, которые регулируют доступ внешних ЭВМ к программам
securetcpip Активизирует сетевую безопасность
setclock Устанавливает время и дату для ЭВМ в сети
slattach Подключает последовательные каналы в качестве сетевых интерфейсов
timedc Присылает информацию о демоне timed
trpt Отслеживает реализации протокола для TCP-сокетов

Для того, чтобы диагностировать ситуацию в сети, необходимо представлять себе взаимодействие различных ее частей в рамках протоколов TCP/IP и иметь некоторое представление о работе Ethernet. Сети, следующие рекомендациям Интернет, имеют локальный сервер имен (DNS, RFC-1912, -1886, -1713, -1706, -1611-12, -1536-37, -1183, -1101, -1034-35 ; цифры, напечатанные полужирным шрифтом, соответствуют кодам документов, содержащим описания стандартов), служащий для преобразования символьного имени сетевого объекта в его IP-адрес. DNS-сервер обслуживает соответствующую базу данных, которая хранит много другой полезной информации. Многие ЭВМ имеют SNMP -резиденты (RFC-1901-7, -1446-5, -1418-20, -1353, -1270, -1157, -1098), обслуживающие управляющую базу данных MIB (RFC-1792, -1748-49, -1743, -1697, -1573, -1565-66, -1513-14, -1230, -1227, -1212-13 ), содержимое которой поможет также узнать много интересного о состоянии вашей сети. Сама идеология Интернет предполагает богатую диагностику (протокол ICMP, RFC- 1256, 1885, -1788, -792 ).

Протокол ICMP используется в наиболее популярной диагностической программе ping входит в поставку практически всех сетевых пакетов. Возможная форма вызова этой программы имеет вид:

ping <имя или адрес ЭВМ или другого объекта> [размер пакета] [число посылок]

Размер пакета задается в байтах (по умолчанию равен 56). Процедура выполнения ping может быть прервана нажатием клавиш ctrl-C. В различных реализациях программа ping имеет много разных опций, которые позволяют измерять статистические характеристики канала (например, потери), определять задержки в канале (RTT), отображать посылаемые пакеты и получаемые отклики, а также фиксировать маршрут до интересующего объекта. Ping применяется для выяснения доступности сервис-провайдера и т.д. Иногда ping является составной частью более мощной диагностической программы (например, netwatch). Ниже приведен пример использования команды traceroute:

traceroute kirk.Bond.edu.au (посмотрим, как идут пакеты до этого сервера в Австралии)
(IP-адрес=131.244.1.1 узнан, зондирование начинается, допустимо не более 30 шагов)
traceroute to kirk.Bond.edu.au (131.244.1.1) 30 hops max, 40 byte packets
1 ITEP-FDDI-BBone (193.124.224.50) 2 ms 2 ms 2 ms
2 MSU-Tower-2.Moscow.RU.Radio-MSU.net (194.67.80.65) 3 ms 3 ms 3 ms
3 NPI-MSU.Moscow.RU.Radio-MSU.net (194.67.80.5) 4 ms 3 ms 3 ms
4 NPI-P.Moscow.RU.Radio-MSU.net (194.67.80.18) 4 ms 5 ms 4 ms
5 DESY-P.Hamburg.DE.Radio-MSU.net (194.67.80.14) 317 ms 310 ms 329 ms
6 DESY.Hamburg.DE.Radio-MSU.net (194.67.82.17) 312ms 320ms 312ms (маршрут через Германию)
7 188.1.56.5 (188.1.56.5) 321 ms 357 ms 327 ms
8 188.1.56.10 (188.1.56.10) 347 ms 467 ms 356 ms
9 DE-f0-0.eurocore.bt.net (194.72.24.193) 331 ms 337 ms 331 ms
10 NL-s1-1.eurocore.bt.net (194.72.24.202) 355 ms 435 ms 343 ms
11 NL-f0.dante.bt.net (194.72.24.2) 367 ms 353 ms 573 ms
12 New-York2.dante.net (194.72.26.10) 497ms 493ms 489ms (пересекли Атлантический океан)
13 f1-0.t32-0.New-York.t3.ans.net (204.149.4.9) 546 ms 501 ms 490 ms
14 h5-0.t36-1.New-York2.t3.ans.net (140.223.33.10) 540 ms 506 ms 571 ms
15 * f2.t36-0.New-York2.t3.ans.net (140.223.36.221) 503 ms 505 ms
16 h13.t40-0.Cleveland.t3.ans.net (140.223.37.10) 802 ms 795 ms 523 ms
17 h14.t24-0.Chicago.t3.ans.net (140.223.25.9) 537 ms 509 ms 526 ms
18 h13.t96-0.Denver.t3.ans.net (140.223.25.18) 545 ms 531 ms 545 ms
19 h12.t8-0.San-Francisco.t3.ans.net (140.223.9.17) 853 ms 584 ms 592 ms
20 border2-fddi1-0.SanFrancisco.mci.net (206.157.77.1) 563 ms 591 ms 753 ms
21 telstra-ds3.SanFrancisco.mci.net (204.70.33.10) 691 ms * 691 ms
22 telstra.SanFrancisco.mci.net (204.70.204.6) 759 ms 815 ms 753 ms (достигли Тихого океана)
23 Fddi0-0.pad-core2.Sydney.telstra.net (139.130.249.227) 766 ms 1054 ms 837 ms (океан позади — Австралия!)
24 Serial4-4.cha-core1.Brisbane.telstra.net (139.130.249.202) 781 ms 776 ms 810 ms
25 qld-new.gw.au (139.130.247.227) 836 ms 917 ms 806 ms
26 139.130.5.2 (139.130.5.2) 816 ms 796 ms 811 ms
27 203.22.86.241 (203.22.86.241) 800 ms 787 ms 838 ms
28 203.22.86.194 (203.22.86.194) 850 ms 790 ms 768 ms
29 kirk.Bond.edu.au (131.244.1.1) 781 ms (ttl=226!) 918 ms (ttl=226!) 799 ms (ttl=226!)
Листинг 8.1.

Цель достигнута за 29 шагов! (Путь бывает и длиннее, но редко).

Программа traceroute посылает по три пакета с нарастающими значениями TTL, если отклик на пакет не получен печатается символ *. Большие задержки (RTT) в приведенном примере зависят от спутниковых каналов связи (время распространения сигнала до спутника).

Чтобы правильно реагировать на нештатные ситуации, надо хорошо представлять себе, как сеть должна работать в нормальных условиях. Для этого надо изучить сеть, ее топологию, внешние связи, конфигурацию программного обеспечения центральных серверов и периферийных ЭВМ. Следует иметь в виду, что изменение конфигурации является обычно привилегией системного администратора и в любых сомнительных случаях нужно обращаться к нему. Неквалифицированные действия при реконфигурировании системы могут иметь катастрофические последствия.

Сетевое оборудование, описано в документации intro(4), которая доступна через справочную систему man, например:

man — 4 intro | grep Ether (Выделенная строка представляет собой команду, 
введенную с клавиатуры, следующий за ней текст — отклик ЭВМ на эту команду)
a network interface for the 10-Megabit Ethernet, along with SunOS supports
the 10-Megabit Ethernet as its primary net-ie ie(4S) Intel 10 Mb/s Ethernet
interface
le le(4S) LANCE 10Mb/s Ethernet interface

Для того, чтобы получить дополнительную информацию об этих интерфейсах, можно выдать команду dmesg (или просмотреть файл /usr/adm/messages):

dmesg | grep le0
le0 at SBus slot f 0xc00000 pri 6 (onboard)
le0: AUI Ethernet

Работа сетевого обеспечения базируется на нескольких резидентных программах (демонах): routed и gated (маршрутизация), named (сервер имен), inetd (Интернет услуги). Перечень демонов базовых услуг представлен в таблице 8.2.

Таблица 8.2. Основные TCP/IP демоны
Название демона Назначение
fingerd Предоставляет информацию об удаленном пользователе
ftpd Реализует функции сервера передачи файлов (протокол FTP)
gated Реализует функции маршрутизации шлюза для протоколов RIP, HELLO, EGP, BGP и SNMP
inetd Осуществляет управление сетевыми услугами Интернет
named Реализует услуги сервера имен (DNS)
rexecd Выполняет серверные функции для команд rexec (удаленное исполнение)
rlogind Реализует серверные функции для команд rlogin (авторизация)
routed Управляет сетевыми маршрутными таблицами
rshd Реализует серверные функции для команд удаленного исполнения
rwhod Реализует серверные функции для команд rwho и ruptime
syslogd Читает и записывает в системный журнал сообщения
talkd Реализует серверные функции для команд talk
telnetd Реализует серверные функции для протокола TELNET
tftpd Реализует серверные функции для протокола TFTP
timed При загрузке системы устанавливает демон timeserver

Конфигурация inetd определяется содержимым файла /etc/inetd.conf. Для ознакомления с содержимым файла достаточно с клавиатуры ввести команду:

head -16 /etc/inetd.conf
# @(#)inetd.conf 1.24 92/04/14 SMI
# Configuration file for inetd(8). See inetd.conf(5).
# To re-configure the running inetd process, edit this file, then
# send the inetd process a SIGHUP.
# Internet services syntax:
# <service_name> <socket_type> <proto> <flags> <user> <server_pathname> <args>
# Ftp and telnet are standard Internet services.
#ftp stream tcp nowait root /usr/etc/in.ftpd in.ftpd
#ftp stream tcp nowait root /usr/etc/wrapper.3.9.4/tcpd in.ftpd -dl
ftp stream tcp nowait root /usr/etc/wrapper.3.9.4/tcpd /usr/local/etc/ftpd -lio

Строки, начинающиеся с символа #, являются комментариями. В данном примере представлена одна информативная строка (их может быть много больше), характеризующая файловый обмен. Каждая строка в этом файле начинается с имени ресурса (в приведенном примере ftp ). Далее следует поле типа соединителя (socket): stream (TCP поток байтов); dgramпередача данных в виде UDP-дейтограмм. Следующее поле характеризует протокол, используемый данным видом сервиса (TCP или UDP). За ним идет поле, которое описывает способ реализации процедуры ( wait/nowait; для поточных серверов nowait ). Следующее поле представляет собой идентификатор пользователя (UID), но обычно пользователем является системный администраторroot. Возможны два исключения. Процедура finger выполняется с UID=nobody или daemon. За полем uid следует поле сервера (в примере /usr/etc/wrapper.3.9.4/tcpd /usr/local/etc/ftpd ). В это поле заносится полное описание пути к программе-серверу, запускаемой inetd. Завершающим полем является поле аргументы, куда записывается строка, передаваемая программе-серверу. Содержимое файла inetd.conf должно быть предметом особой заботы администратора, так как от содержимого этого файла зависит эффективная работа сети и ее безопасность.

Как уже отмечалось выше, одним из важнейших частей любого узла Интернет является сервер имен (DNS). Конфигурация DNS-сервера определяется тремя файлами: named.boot, named.ca и named.local. Зонная информация содержится в файле named.rev, а данные о локальном домене — в файле named.hosts. Отладка, контроль и диагностика DNS-сервера осуществляется с использованием программ nslookup (или dig). Рассмотрим пример применения процедуры nslookup (здесь выполнены запросы по серверам имен, по почтовым серверам и по параметрам зоны ответственности):

Nslookup(запуск сервера)
Default Server: ns.itep.ru
Address: 193.124.224.35
set type=NS(запрос данных о серверах имен)
> > Server: ns.itep.ru
Address: 193.124.224.35
eunet.fi (определяем имя запрашиваемого узла)
Non-authoritative answer:
eunet.fi nameserver = ns1.EUNET.FI
eunet.fi nameserver = ns2.EUNET.FI
eunet.fi nameserver = ns3.eunet.fi
eunet.fi nameserver = ns.eu.net
eunet.fi nameserver = ns0.EUNET.FI
Authoritative answers can be found from (официальные данные могут быть получены от):
eunet.fi nameserver = ns1.EUNET.FI
set type=ANY (запрос всей информации)
..........................................
Non-authoritative answer:
eunet.fi Nameserver = ns1.EUNET.FI
eunet.fi Nameserver = ns2.EUNET.FI
eunet.fi Nameserver = ns3.eunet.fi
eunet.fi Nameserver = ns.eu.net
origin = ns1.eunet.fi
mail addr = hostmaster.eunet.fi
serial = 199607235
refresh = 28800 (8 hours)
retry = 7200 (2 hours)
expire = 604800 (7 days)
minimum ttl = 86400 (1 day)
eunet.fi preference = 10, mail exchanger = pim.eunet.fi (Основной почтовый сервер)
eunet.fi preference = 50, mail exchanger = mail.eunet.fi
eunet.fi Nameserver = ns0.EUNET.FI
Authoritative answers can be found from:
eunet.fi nameserver = ns1.EUNET.FI
eunet.fi nameserver = ns2.EUNET.FI
eunet.fi nameserver = ns3.eunet.fi
eunet.fi nameserver = ns.eu.net
eunet.fi nameserver = ns0.EUNET.FI
ns1.EUNET.FI internet address = 192.26.119.7
ns2.EUNET.FI internet address = 192.26.119.4
ns3.eunet.fi internet address = 192.26.119.4
ns.eu.net internet address = 192.16.202.11
pim.eunet.fi internet address = 193.66.4.30
mail.eunet.fi internet address = 192.26.119.7
ns0.EUNET.FI internet address = 192.26.119.1
set type=MX (запрос информации о почтовых серверах)
...................................
Non-authoritative answer:
eunet.fi preference = 50, mail exchanger = mail.eunet.fi (имена почтовых серверов)
eunet.fi preference = 10, mail exchanger = pim.eunet.fi
Листинг 8.2.
< Лекция 7 || Лекция 8: 12345 || Лекция 9 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Алексей Приходько
Алексей Приходько
Украина, Днепропетровск, Украинский государственный Химико-технологический университет, 2013
Юрий Волоховский
Юрий Волоховский
Украина, Харьков, ХарГАЖТ, 2007