Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_методичка.doc
Скачиваний:
103
Добавлен:
11.03.2016
Размер:
861.7 Кб
Скачать

Команды диагностики сети

Сети на базе TCP/IP содержат большое количество удобных утилит и команд, позволяющих наблюдать за статусом сети и диагностировать возникающие проблемы (табл. 7.1).

Утилита pingявляется одним из основных диагностических средств в сетях TCP/IP и входит в поставку всех современных сетевых операционных систем. Функциональность ping также реализована в некоторых встроенных ОС маршрутизаторов, доступ к результатам выполнения ping для таких устройств по протоколу SNMP определяется RFC 2925 (Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations).

Так как программа использует ICMP и создает raw-пакеты, для ее выполнения в unix-системах необходимы права суперпользователя. Чтобы обычные пользователи могли использовать ping, на /bin/ping ставят SUID бит в права доступа (chmod4755 /bin/pingи попросить выполнить эту команду администратора). Пример запуска утилиты ping:

Пример. Запуск ping.

%ping -c 3 fpm2.ami.nstu.ru

PING fpm2.ami.nstu.ru (217.71.130.131): 56 data bytes

64 bytes from 217.71.130.131: icmp_seq=0 ttl=57 time=5.458 ms

64 bytes from 217.71.130.131: icmp_seq=1 ttl=57 time=3.088 ms

64 bytes from 217.71.130.131: icmp_seq=2 ttl=57 time=1.927 ms

--- fpm2.ami.nstu.ru ping statistics ---

3 packets transmitted, 3 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 1.927/3.491/5.458/1.469 ms

%

Таблица 7.1

№ п/п

Утилита (команда)

Назначение

Примеры использования

1

ping

Используется для отправки ЭХО-запросов на указанный узел сети. Простое, но незаменимое средство диагностики сети

ping -c 7 saturn

2

traceroute

Используется для определения маршрута следования пакетов от вашего хоста до указанного хоста

traceroute -I fpm2.ami.nstu.ru

3

ifconfig

Конфигурирует или отображает параметры сетевых интерфейсов хоста (для протоколов стека TCP/IP)

ifconfig

4

netstat

Выводит информацию о сетевых соединениях, статистику по сетевым интерфейсам и т. п.

netstat -i

5

arp

Отображает или модифицирует таблицу протокола ARP (преобразование IP в MAC-адреса)

arp -a

6

uname

Выводит различную информа-цию о системе

uname -a

7

ipconfig

То же, что и ifconfig, но для Windows XP

ipconfig

8

tracert

То же, что и traceroute, но для Windows XP

tracert tom.interface.nsk.su

Утилита tracerouteпредназначена для определения маршрутов следования данных в сетях TCP/IP. Она выполняет отправку данных указанному узлу сети, при этом отображая сведения о всех промежуточных маршрутизаторах, через которые прошли данные на пути к целевому узлу. В случае проблем при доставке данных до какого-либо узла программа позволяет определить, на каком именно участке сети возникли неполадки.

tracerouteвходит в поставку большинства современных сетевых операционных систем. В системах Microsoft Windows эта программа носит названиеtracert, а в системах GNU/Linux –traceroute.

Для определения промежуточных маршрутизаторов tracerouteотправляет серию пакетов целевому узлу, при этом каждый раз увеличивая на 1 значение поля TTL («время жизни»). Это поле обычно указывает максимальное количество маршрутизаторов, которое может быть пройдено пакетом. Первый пакет отправляется с TTL, равным 1, и поэтому первый же маршрутизатор возвращает обратно сообщение ICMP, указывающее на невозможность доставки данных.Tracerouteфиксирует адрес маршрутизатора, а также время между отправкой пакета и получением ответа (эти сведения выводятся на монитор компьютера). Затемtracerouteповторяет отправку пакета, но уже с TTL, равным 2, что позволяет первому маршрутизатору пропустить пакет дальше.

Процесс повторяется до тех пор, пока при определенном значении TTL пакет не достигнет целевого узла. При получении ответа от этого узла процесс трассировки считается завершенным.

На оконечном хосте IP-дейтаграмма с TTL = 1 не отбрасывается и не вызывает ICMP-сообщения типа срок истек, а должна быть отдана приложению. Достижение пункта назначения определяется следующим образом: отсылаемыеtracerouteдейтаграммы содержат UDP-пакет с таким номером UDP-порта адресата (превышающим 30000), что он заведомо не используется на адресуемом хосте. В пункте назначения UDP-модуль, получая подобные дейтаграммы, возвращает ICMP-сообщения об ошибке «порт недоступен». Таким образом, чтобы узнать о завершении работы, программеtracerouteдостаточно обнаружить, что поступило ICMP-сообщение об ошибке этого типа.

Примерв Windows:

C:\Documents and Settings\dnl>tracert fpm2.ami.nstu.ru

Пример.Результат выполнения командыtracert

Трассировка маршрута к fpm2.ami.nstu.ru [217.71.130.131]

с максимальным числом прыжков 30:

1 2 ms 1 ms 1 ms ifgate.interface.nsk.su [195.62.2.1]

2 2 ms 1 ms 2 ms cisco.n-sk.ru [195.62.0.93]

3 1 ms 1 ms 1 ms router.n-sk.ru [195.62.1.49]

4 2 ms 1 ms 1 ms nsk-ix.n-sk.ru [195.62.1.80]

5 2 ms 1 ms 1 ms c7120.nstu.ru [217.71.128.237]

6 2 ms 2 ms 1 ms ix-i.nstu.ru [217.71.128.70]

7 2 ms 3 ms 1 ms ami.nstu.ru [217.71.131.2]

8 2 ms 3 ms 1 ms fpm2.ami.nstu.ru [217.71.130.131]

Трассировка завершена.

Запуск программы производится из командной строки. Для этого вы должны войти в нее (Пуск – Выполнить – В графе «Открыть» пишется «cmd», нажимается ОK). В открывшемся окне пишем:

tracert fpm2.ami.nstu.ru

где tracert – обращение к программе, а fpm2.ami.nstu.ru– символьное имя (DNS-имя) или IPv4 адрес.

Примерв Linux:

В Unix/Linux системах существуют режимы, в которых запуск программы возможен только от имени суперпользователя root(администратора). К числу этих режимов относится важный режим трассировки с помощьюICMP (ключ -I).

Во всех остальных случаях (и в том числе в режиме, который используется по умолчанию) tracerouteможет работать от имени обычного рядового пользователя (на серверахfpm2 иSaturnключ-Iиспользовать запрещено, поэтому информация, выводимая на экран, будет неполной).

Пример. Результат выполнения командыtraceroute

%traceroute -I saturn.ami.nstu.ru

traceroute to saturn.ami.nstu.ru (217.71.130.153), 64 hops max, 60 byte packets

1 ifgate (195.62.2.1) 1.262 ms 1.258 ms 1.138 ms

2 cisco.n-sk.ru (195.62.0.93) 2.798 ms 1.629 ms 1.903 ms

3 router.n-sk.ru (195.62.1.49) 1.232 ms 1.175 ms 1.170 ms

4 nsk-ix.n-sk.ru (195.62.1.80) 1.567 ms 1.446 ms 1.579 ms

5 c7120.nstu.ru (217.71.128.237) 1.771 ms 1.659 ms 1.582 ms

6 ix-i.nstu.ru (217.71.128.70) 2.040 ms 1.593 ms 1.753 ms

7 ami.nstu.ru (217.71.131.2) 2.996 ms 2.718 ms 1.612 ms

8 saturn.ami.nstu.ru (217.71.130.153) 4.268 ms 3.108 ms 2.051 ms

%

Замечание. Утилитаtracerouteиспользуется в том числе и в познавательных целях, например, чтобы определить, почему внутри одного города между провайдерами так долго проходят пакеты. Оказалось, пакеты передавались не через внутреннюю точку обмена трафиком, а через город на другом континенте. В отчете по лабораторной работе желательно привести подобный случай для Новосибирска.

Утилиту ifconfig мы будем использовать не для конфигурирования сетевых интерфейсов, а в познавательных целях для получения информации о состоянии активных сетевых интерфейсов. Для этого, находясь на определенном хосте, выполняем утилиту ifconfig без параметров (опций) и анализируем полученные результаты.

Утилита netstat служит для определения состояния сетевых структур данных. Вы можете посмотреть таблицы маршрутизатора на вашей машине, детальную информацию о различных используемых протоколах и т. д. C опцией -iэта команда выдает информацию о сетевых интерфейсах на вашей машине.

Примериспользования команды netstat (для операционной системыSunOC):

sun% netstat -i

name MTU Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue

le0 1500 solar sun 7442667 27558 736826 33 125361 0

lo0 536 loopback localhost 1283 0 1283 0 0 0 ,

где name– имя сетевого интерфейса;

lo0– циклический (loopback) интерфейс (или «заглушка»), используемый для проверки сетевых протоколов;

MTU –(Maximum Transmition Unit) размер в байтах максимального пакета данных, поддерживаемого данным интерфейсом. Для Ethernet MTU=1500, для FDDI – 4428, для lo0 – 536;

Net/Dest– назначение сети. Это имя, значение которого можно получить по номеру сети (Network Number), может быть установлено в файле /etc/networks;

Address– имя машины (опция -n позволяет вывести также IP-адрес);

Ipkts/Ierrs– число пришедших пакетов и число ошибок;

Opkts/Oerrs– то же самое для исходящих пакетов;

Collis– число произошедших коллизий. Величина, называемая коэффициентом коллизий (collision rate), вычисляется как (Collis/Opkts)*100. Хорошим считается коэффициент 0…2 %, при 3…5 % можно начинать беспокоиться, если же он больше 5 %, дела совсем плохи;

Queue– число пакетов, ожидающих прохождения через интерфейс. В большинстве случаев таких пакетов нет.

Пример использования утилиты netstat дляLinux:

-bash-3.2$ netstat -i

Kernel Interface table

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 173351491 0 0 0 156580779 0 0 0 BMRU

eth1 1500 0 183024 0 0 0 247635 0 0 0 BMRU

lo 16436 0 547246 0 0 0 547246 0 0 0 LRU

-bash-3.2$