- •Учебная группа 693
- •Инструкция по подготовке и выполнению лабораторных работ
- •А.С. Швецов
- •Сети и телекоммуникации
- •Руководство к лабораторным работам
- •Часть 2
- •Работа с ресурсами глобальной сети в ос мсвс
- •Санкт-Петербург
- •Содержание
- •Список сокращений
- •Введение
- •1. Ip адресация и ip маршрутизация
- •1.1. Теоретическая часть
- •1.1.1. Схема распределения адресного пространства
- •1.1.2. Ip маршрутизация
- •1.1.3. Управление маршрутизацией в ос мсвс
- •1.1.4. Управление маршрутизацией в ос Windows
- •1.1.5. Используемые в работе команды
- •1.2. Практическая часть
- •1.2.1. Алгоритм выполнения работы
- •1.2.2. Варианты индивидуальных заданий
- •1.2.3. Содержание отчёта
- •1.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •2. Сбор информации о сетевом трафике
- •2.1. Теоретическая часть
- •2.1.1. Модель osi
- •2.1.2. Протокол Ethernet
- •2.1.3. Протокол arp
- •2.1.4. Протокол ip
- •2.1.5. Протокол icmp
- •2.1.6. Проверка доступности удалённого хоста. Программа ping
- •2.1.7. Используемые в работе команды
- •2.2. Практическая часть
- •2.2.1. Алгоритм выполнения работы
- •2.2.2. Варианты индивидуальных заданий
- •2.2.3. Содержание отчёта
- •2.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •3. Технология nat
- •3.1. Теоретическая часть
- •3.1.1. Основы технологии nat
- •3.1.2. Общие принципы работы nat
- •3.1.4. Работа nat в мсвс
- •Icmp критерии
- •3.1.5. Проверка наличия установленного пакета iptables
- •3.1.6. Используемые в работе команды
- •3.2. Практическая часть
- •3.2.1. Алгоритм выполнения работы
- •3.2.2. Варианты индивидуальных заданий
- •3.2.3. Содержание отчёта
- •3.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •4. Фильтрация пакетов
- •4.1. Теоретическая часть
- •4.1.1. Принципы работы межсетевых экранов
- •4.1.2. Работа межсетевого экрана в мсвс
- •4.1.3. Проверка наличия установленного пакета iptables
- •4.1.4. Используемые в работе команды
- •4.2. Практическая часть
- •4.2.1. Алгоритм выполнения работы
- •4.2.2. Варианты индивидуальных заданий
- •4.2.3. Содержание отчёта
- •4.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •5. Настройка dns
- •Теоретическая часть
- •Принципы работы dns
- •Понятие зоны.
- •Типы серверов доменных имен (типы запросов: рекурсивные, не рекурсивные), прямые обратные зоны.
- •Кэширующие (cache) серверы
- •Серверы, обслуживающие корневую зону (Root servers)
- •Протокол dns
- •Сокращение имен
- •Общие сведения о вариантах настройки bind версий 8 и 9
- •Кеширующий сервер (Cache server)
- •Официальный (Authoritative) сервер зоны
- •Вспомогательный сервер (secondary, slave)
- •Файлы описания зон
- •Массовое создание зон
- •Утилита nslookup
- •Последовательность действий настройки dns-сервера
- •Практическая часть
- •Алгоритм выполнения работы
- •Варианты индивидуальных заданий
- •Содержание отчёта
- •Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •6. Настройка службы ftp
- •6.1. Теоретическая часть
- •Проблема безопасности
- •Основные команды
- •Создание ftp-сервера в ос мсвс
- •Проверка наличия установленного пакета ftp-сервера, при отсутствии установленного пакета его необходимо установить из дистрибутива ос мсвс.
- •Конфигурирование ftp-сервера (vsftpd).
- •Запуск (перезапуск) демона vsftpd в ос мсвс.
- •6.1.6.1. Проверка наличия установленного пакета ftp-сервера
- •6.1.6.2. Конфигурирование ftp-сервера
- •Управление доступом
- •Сетевые параметры
- •6.1.6.3. Файл «/etc/vsftpd/ftpusers»
- •6.1.6.4. Файл «/etc/vsftpd/user_list»
- •6.1.6.5. Запуск демона ftp (vsftpd) в ос мсвс
- •Настройка ftp-клиента в «Total Commander»
- •Используемые в работе команды
- •6.2. Практическая часть
- •6.2.1. Алгоритм выполнения работы
- •6.2.2. Варианты индивидуальных заданий
- •6.2.3. Содержание отчёта
- •6.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •7. Настройка почтового сервера
- •7.1. Теоретическая часть
- •Названия
- •История
- •Современная архитектура (smtp)
- •Маршрутизация почты
- •Протокол передачи почты smtp
- •Установление соединения.
- •Аутентификация.
- •Передача данных.
- •Безопасность smtp и спам
- •Протоколы получения почты
- •Различия
- •Структура письма
- •7.1.8.1. Заголовок smtp
- •7.1.8.2. Заголовок письма
- •7.1.8.3. Часто используемые поля
- •7.1.8.4. Тело письма
- •Цепочки писем
- •Почтовые рассылки
- •Коммерческое использование
- •7.1.11.1. Спам
- •Шифрование почты
- •Создание почтового сервера в ос мсвс
- •7.1.13.1. Настройка smtp-сервера
- •7.1.13.2. Настройка pop3-сервера
- •Настройка и работа в «Outlook Express 6»
- •Используемые в работе команды
- •7.2. Практическая часть
- •7.2.1. Алгоритм выполнения работы
- •7.2.2. Варианты индивидуальных заданий
- •7.2.3. Содержание отчёта
- •7.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •8. Настройка веб-сервера
- •8.1. Теоретическая часть
- •8.1.1.1. Дополнительные функции Веб-сервера
- •8.1.1.2. Программное обеспечение Веб-сервера
- •8.1.1.3. Клиенты
- •8.1.2.1. История url
- •8.1.2.2. Структура url
- •8.1.2.3. Схемы (протоколы) url
- •8.1.3.1. Динамическая Веб-страница
- •8.1.3.2. Персональная интернет-страница
- •8.1.4.1. История Веб-сайтов
- •8.1.4.2. Устройство Веб-сайтов
- •8.1.4.3. Классификация сайтов
- •Apache http-сервер
- •8.1.7.1. Архитектура Ядро
- •Система конфигурации
- •Система модулей
- •Механизм виртуальных хостов
- •8.1.7.2. Функциональные возможности Интеграция с другим по и языками программирования
- •Безопасность
- •Интернационализация
- •Обработка событий
- •Создание Веб-сервера в ос мсвс
- •8.1.13.1. Установка и настройка «Apache http-сервера»
- •Конфигурирование Apache http-сервера.
- •8.1.13.2. Установка и настройка «MySql-сервера»
- •Конфигурирование MySql-серверf.
- •8.1.13.3. Установка и настройка php
- •Проверка наличия установленного пакета php, при отсутствии установленного пакета его необходимо установить из дистрибутива ос мсвс.
- •Конфигурирование php.
- •Используемые в работе команды
- •8.2. Практическая часть
- •8.2.1. Алгоритм выполнения работы
- •8.2.2. Варианты индивидуальных заданий
- •8.2.3. Содержание отчёта
- •8.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
2.1.6. Проверка доступности удалённого хоста. Программа ping
Наиболее часто для проверки доступности удалённого хоста используется программа Ping. Программа посылает ICMP эхо запрос на хост и ожидает возврата ICMP эхо отклика. На рис. 2.12 приведен список типов ICMP сообщений.
Ранее считать верным утверждение, что если невозможно послать Ping на хост, то невозможно работать с хостом и с использованием Telnet или FTP. В настоящее время это утверждение не является верным. Связано это с тем, что в сети Internet появились повышенные требования к безопасности. Маршрутизаторы поддерживают списки доступа, появились шлюзы, использующие технологию firewall. В настоящее время доступность хоста основывается не только на доступности IP уровня, а также на том, какой используется протокол и какой при этом работает порт. Ping может показывать хост как недоступный, однако мы можем получить доступ через Telnet на порт 25 (почтовый сервер).
Программа Ping
Программа ping, которая посылает эхо запросы – является клиентом, а хост, на который посылаются эхо запросы – сервером. Большинство реализаций TCP/IP поддерживают Ping сервер непосредственно в ядре – сервер не является пользовательским процессом. На рис. 2.13 показаны ICMP эхо запрос и эхо отклик.
0 7 |
8 15 |
16 31 |
|
|
||
тип (0 или8) |
код (0) |
16-бит контрольная сумма |
8 байт |
|
||
идентификатор |
номер последовательности |
|
||||
|
|
|
|
|
||
необязательные данные |
|
|
|
|||
|
|
|
|
|
||
Рис. 2.13. Формат ICMP сообщения для эхо запроса и эхо отклика.
Так же, как в случае других ICMP запросов, в отклике сервера должны содержаться поля идентификатора (identifier) и номера последовательности (sequence number). Кроме того, любые дополнительные данные, посланные клиентам, должны быть отражены эхом.
Реализации ping, присутствующие в Unix (Linux, МСВС), устанавливают в поле идентификатора ICMP сообщения идентификатор процесса, отправляющего запрос. Это позволяет программе ping идентифицировать вернувшийся ответ, если на одном и том же хосте в одно и то же время запущено несколько программ ping.
Номер последовательности начинается с 0 и увеличивается на единицу каждый раз, когда посылается следующий эхо запрос. Ping печатает номер последовательности каждого возвращенного пакета, позволяя нам увидеть, потерялся ли пакет, поменялась ли последовательность движения пакетов и был ли пакет продублирован. Так как IP является ненадежным сервисом доставки датаграмм, любое из трех вышеперечисленных условий может проявиться при работе программы ping.
Исторически сложилось так, что программа ping посылает эхо запрос один раз в секунду, печатая каждый эхо отклик в момент его возвращения. Однако новые разработки требуют указания опции -s, чтобы программа работала подобным образом. По-умолчанию новые реализации посылают только один эхо запрос и выдают сообщение «host is alive» (хост доступен), если эхо отклик получен, или «no answer» (не отвечает), если отклик не получен в течение 20 секунд.
Работа программы в локальных сетях
Вывод программы ping при работе в локальных сетях обычно выглядит следующим образом:
MCBC # ping svr4
PING svr4 (140.252.13.34): 56 data bytes
64 bytes from 140.252.13.34: icmp_seq=0 ttl=255 time=0 ms
64 bytes from 140.252.13.34: icmp_seq=1 ttl=255 time=0 ms
64 bytes from 140.252.13.34: icmp_seq=2 ttl=255 time=0 ms
64 bytes from 140.252.13.34: icmp_seq=3 ttl=255 time=0 ms
Когда принимается ICMP эхо отклик, печатается номер последовательности, затем параметр время жизни (TTL) и рассчитанное время возврата. TTL – это поле времени жизни в IP заголовке. В настоящее время программа ping печатает полученное TTL каждый раз, когда принимается эхо отклик – некоторые реализации этого не делают.
Программа ping может рассчитать время возврата, так как она сохраняет время, когда был отправлен эхо запрос, в разделе данных ICMP сообщения. Когда отклик возвращается, эти данные извлекаются и сравниваются с текущим временем.
Первая строка вывода содержит IP адрес хоста назначения, даже если было указано имя (svr4). Это означает, что имя было преобразовано в IP адрес. После запуска программы ping проходит несколько секунд, перед тем как появляется первая строка вывода с напечатанным IP адресом, это время необходимо DNS, чтобы определить IP адрес, соответствующий имени хоста.
Часто бывает, что первое время возврата больше, чем все остальные. Это происходит в том случае, если аппаратный адрес назначения отсутствует в ARP кэше отправителя. Отправка ARP запроса и получение ARP отклика может занять несколько миллисекунд, только после этого отправляется первый эхо запрос.
Работа программы в глобальных сетях
При работе в глобальных сетях можно встретиться с дублированием пакетов (один и тот же номер последовательности появляется дважды или несколько раз), также может возникнуть перемешивание номеров последовательности (номер последовательности N+1 появляется перед номером последовательности N).
Опция записи IP маршрута
Программа ping предоставляет возможность просмотреть IP опцию записи маршрута (RR). В большинстве версий программы ping присутствует опция -r, которая включает характеристику записи маршрута. При использовании этой опции ping устанавливает опцию IP записи маршрута (RR) в исходящих датаграммах (которые содержат ICMP эхо запрос). При этом каждый маршрутизатор, который обрабатывает датаграмму, добавляет свой IP адрес в список, находящийся в дополнительном поле. Когда датаграмма достигает конечного пункта назначения, список IP адресов копируется в исходящий ICMP эхо отклик, а все маршрутизаторы на обратном пути также добавляют свои IP адреса в список. Когда ping принимает эхо отклик, печатает список IP адресов.
Генерация IP опции RR хостом источником, обработка опции RR промежуточными маршрутизаторами и отражение входящего списка RR из ICMP эхо запроса в исходящий ICMP эхо отклик, все это – дополнительные и необязательные характеристики. Большинство систем в настоящее время поддерживают эти дополнительные характеристики, однако некоторые системы не отображают список IP адресов.
Ограничения использования опции RR связаны с ограниченным размером IP заголовка, в который должен поместиться список IP адресов. Из рис. 2.9 видно, что поле длины заголовка (header length) в IP заголовке составляет 4 бита, что ограничивает размер IP заголовка в пределах пятнадцати 32-битных слов (60 байт). Так как фиксированный размер IP заголовка составляет 20 байт, а RR опция использует 3 байта для своей установки, то остается 37 байт (60-20-3) на список адресов, а это, в свою очередь, позволяет поместить туда до 9 IP адресов. На заре развития ARPANET 9 IP адресов было немного, однако, в настоящее время, подобный размер существенно ограничивает работу команды ping с опцией -r. Несмотря на все ограничения, опция записи маршрута работает и предоставляет возможность пронаблюдать, как обрабатываются опции IP.
Примером применения команды ping с опцией -r является проверка доступности удалённого хоста, находящегося в другой подсети с максимальным количеством «прыжков» 9 и выводом маршрута на экран:
ping –r 9 192.168.63.1
На рис. 2.14 показан общий формат опции записи маршрута в IP датаграмме.
Рис. 2.14. Общий формат опции маршрута в IP заголовке.
Код (code) – однобайтовое поле, содержащее тип IP опции. Для опции RR установлено значение 7. Длина (len) – это полный размер в байтах опции RR, в данном случае 39.
Указатель (ptr) – это индекс в 39-байтной опции, который указывает на то, где хранится следующий IP адрес. Его минимальное значение 4, что указывает на первый IP адрес. Когда следующий IP адрес записывается в список, значение ptr меняется следующим образом: 8, 12, 16 и так до 36. После того как записан девятый адрес, ptr устанавливается в значение 40, указывая на то, что список полон.
Для вывода на экран всех доступных опций команды ping в ОС необходимо выполнить команду:
ping /?
