- •Введение
- •Лабораторная работа № 1 основы интерфейса пользователя с posix-совместимой ос на уровне командной строки
- •Указания к работе
- •Информация, необходимая для начала работы
- •Основные команды ос unix
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 2 анализ файловой структуры posix-совместимой ос. Команды для работы с файлами и каталогами
- •Указания к работе
- •Физическая модель диска
- •Логическая модель диска
- •Общие черты файловых систем Unix / Posix-совместимых ос
- •Команды для работы с файлами и каталогами
- •Копирование файлов и каталогов
- •Перемещение и переименование файлов и каталогов
- •Права доступа
- •Изменение прав доступа
- •Контекстный поиск в файле
- •Проверка использования диска
- •Управление процессами
- •Получение информации о процессах
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 3 экранный интерфейс для posix-совместимых ос
- •Указания к работе
- •Окна mc
- •Выполнение команд ос Unix
- •Типы файлов
- •Работа с отмеченными файлами
- •Вызов меню
- •Настройка окон
- •Порядок сортировки
- •Прервать
- •Другие режимы отображения
- •Справка (f1)
- •Переименование-Перемещение (f6)
- •Создание Каталога (f7)
- •Удаление (f8)
- •Выход (f10, Shift-f10)
- •Быстрая смена каталога (Alt-c)
- •Различные команды
- •Меню Options
- •Пункт «Внешний вид»
- •Пункт «Биты символов…»
- •Отображение символов Полный 8-битный ввод 7-бит Дальше Прервать
- •Пункт «Подтверждение»
- •Пункт «Распознавание клавиш…»
- •Пользовательские меню
- •Выполнение файлов
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 4 экранный редактор VI/vim
- •Указания к работе Текстовые редакторы
- •Редактор VI (Visual display editor)
- •Основные группы команд редактора Команды управления курсором
- •Команды позиционирования
- •Команды редактирования
- •Команды редактирования в режиме командной строки
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 5 базовые средства для создания приложений в posix-совместимых ос
- •Указания к лабораторной работе
- •Система контроля версий
- •Компиляция исходного текста и построение исполняемого файла
- •Тестирование и отладка
- •Тестовый пример для лабораторной работы
- •Исходный текст программы abcd.C для лаботаторной работы № 5
- •Последовательность выполнения работы
- •Контрольные вопросы к работе
- •Лабораторная работа № 6 сетевые средства posix-совместимых ос. Использование сетевых команд
- •Указания к работе
- •Обзор сетевых команд для tcp/ip
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 7 анализ функционирования и диагностика ip-сетей
- •Указания к работе
- •Аппаратный уровень (уровень сетевого интерфейса)
- •Сетевой уровень
- •Адресация в ip-сетях
- •Internet-адреса
- •Команды диагностики сети
- •Последовательность выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 8
- •Чтение присланных сообщений
- •Как ответить на сообщения
- •Удаление сообщений
- •Прекращение работы с программой mail
- •Использование почтовых псевдонимов (alias)
- •Система обмена сообщениями netnews (usenet)
- •Разговор в сети с другим пользователем
- •Телеконференции в реальном времени
- •Замечания по основным командам irc
- •Последовательность выполнения работы
- •1. Программа mail
- •1.1. Отправление почты
- •1.2. Чтение присланных сообщений
- •3. Программа talk
- •4. Программа irc
- •Контрольные вопросы
- •Оглавление
- •Николай Лаврентьевич Долозов основы операционных систем и сетевых технологий Учебно-методическое пособие
- •630092, Г. Новосибирск, пр. К. Маркса, 20
Команды диагностики сети
Сети на базе 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$