Служебные утилиты для работы в Интернет. Изучение протокола HTTP
Структура IP адреса
IP-адрес состоит из двух частей: номера сети и номера узла в сети.
Самой распространенной является запись IP-адреса в виде четырех чисел, разделенных точками, каждое из которых представляет значение байта в десятичной форме, например: 213.180.204.11. Запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла.
Для разделения этих частей обычно используется 2 подхода:
- С помощью маски (RFC 950, RFC 1518), представляющей собой число в паре с IP-адресом. С помощью операции " логическое И " над этими двумя числами выделяется номер сети.
- С помощью классов адресов (RFC 791).
Вводится пять классов адресов: A,B,C,D,E.
A,B,C – используются для адресации сетей, D и E – имеют специальное назначение. Признаком, на основании которого IP-адрес относят к тому или иному классу, являются значения нескольких первых битов адреса.
Класс | Первые биты | Наименьший номер сети | Наибольший номер сети | Максимальное число узлов в сети |
---|---|---|---|---|
A | 0 | 1.0.0.0 (0 - не используется) | 126.0.0.0 (127-зарезервирован) | 224 (3 байта) |
B | 10 | 128.0.0.0 | 191.255.0.0 | 216 (2 байта) |
С | 110 | 192.0.0.0 | 223.255.255.0 | 28 (1 байт) |
D | 1110 | 224.0.0.0 | 239.255.255.255 | групповые адреса |
E | 11110 | 240.0.0.0 | 247.255.255.255 | зарезервировано |
В рамках IP протокола существуют ограничения при назначении IP-адресов, а именно
- номера сетей и номера узлов не могут состоять из двоичных нулей или единиц;
- eсли IP-адрес состоит только из двоичных нулей, то он называется неопределенным адресом и обозначает адрес того узла, который сгенерировал этот пакет;
- eсли в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет; такой адрес может быть использован только в качестве адреса отправителя;
- если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета; такой адрес называется ограниченным широковещательным, поскольку пакет не сможет выйти за границы сети;
- если в поле адреса назначения в разрядах, соответствующих номеру узла, стоят только единицы, то пакет рассылается всем узлам сети, номер которой указан в адресе назначения; такой тип адреса называется широковещательным ;
- если первый октет адреса равен 127, то такой адрес называется внутренним адресом стека протоколов; он используется для тестирования программ, организации клиентской и серверной частей приложений, установленных на одном компьютере;
- групповые адреса, относящиеся к классу D, предназначены для экономичного распространения в Интернете, большой корпоративной сети аудио- или видеопрограмм.
Стандартным классам сетей можно поставить в соответствие следующие значения маски:
- класс A – 255.0.0.0 ;
- класс B – 255.255.0.0 ;
- класс C – 255.255.255.0.
Рассмотрим следующий пример:
Исходные данные | IP адрес | 62.76.167.21 |
Маска сети | 255.255.255.0 | |
Логическая операция | И | |
Результат | Адрес сети | 62.76.167.0 |
Номер компьютера | 21 |
Для определения сетевых настроек компьютера и сетевого оборудования, диагностики и получения другой информации, относящейся к интернет-протоколам, широко используются специальные утилиты.
Утилита ipconfig
Ipconfig - это утилита командной строки для вывода деталей текущего соединения компьютера с сетью и контроля над клиентским сервисом DHCP. DHCP (Dynamic Host Configuration Protocol) - это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP.
ipconfig/ключи
Команда ipconfig/all - отображает полную информацию по всем сетевым адаптерам.
Утилита ping
Ping (Packet InterNet Grouper) - это системная программа, предназначенная для проверки соединений в сетях на основе TCP/IP. Она отправляет Echo-Request запросы протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа (RTT, Round Trip Time) позволяет определять двусторонние задержки (RTT) по маршруту и частоту потери пакетов. Что позволяет косвенно определять загруженность каналов передачи данных и промежуточных устройств. Полное отсутствие ICMP-ответов может также означать, что удалённый узел (или какой-либо из промежуточных маршрутизаторов) блокирует ICMP Echo-Reply или игнорирует ICMP Echo-Request.
ping –параметры конечное_имя
Конечное имя – это доменное имя или IP-адрес хоста
Пример:

Утилита traceroute
Traceroute (сокращенно tracert ) — это служебная программа, предназначенная для определения маршрутов следования пакетов в сетях TCP/IP. Работа traceroute основана на протоколе ICMP.
traceroute выполняет отправку пакетов указанному узлу сети, отображая при этом сведения о всех промежуточных маршрутизаторах, через которые прошли пакеты на пути к целевому узлу. В случае проблем при доставке пакетов до какого-либо узла программа traceroute позволяет определить, на каком именно участке сети возникли неполадки.
tracert –параметры конечное_имя
Конечное_имя – это доменное имя или IP-адрес хоста
Пример:

Утилита netstat
Netstat – служебная программа, отображающая статистику протокола и текущих сетевых подключений TCP/IP:

Утилита telnet
Telnet - сетевой протокол для реализации текстового интерфейса по сети. Название " telnet " имеет также утилита, реализующая клиентскую часть протокола. Исторически telnet служил для удалённого доступа к интерфейсу командной строки операционных систем. Протокол telnet может использоваться для выполнения отладки других протоколов на основе транспорта TCP.
Утилита telnet поддерживает следующие команды:
- Close – закрытие текущего подключения.
- Display – отображение параметров операции.
- Open – подключение к сайту.
- Quit – выход из telnet.
- Set – установление параметров.
- Send – отправление строки на сервер.
- Status – вывод сведений о текущем состоянии.
- Unset – сброс параметров.
Используя утилиту telnet можно, например вручную отправить запрос клиента и получить ответ сервера по протоколу HTTP.
Для этого выполним следующую последовательность действий:
- Запуск утилиты telnet
- Установление соединения с веб-сервером с помощью команды:
open имя_хоста 80
- Формирование запроса клиента
- Получение ответа сервера
Пример
- Устанавливаем соединение:
open localhost 80
- Формируем строку состояния запроса клиента:
GET HTTP://LOCALHOST/PERLCALC.HTML HTTP/1.0 <ENTER><ENTER>
- Получаем ответ сервера:
Видно, что ответ веб-сервера localhost содержит строку состояния (с кодом успешного завершения 200), поля заголовка ( Server, Date, Content-type и др.) и тело, содержащее HTML код запрошенного клиентом документа http://localhost/perlcalc.html.
С помощью утилиты ping (запускается в командной строке командой ping ) проверьте доступность хостов, минимальное, среднее и максимальное время приема-передачи ICMP пакетов до них. Можно рассмотреть хосты, например в следующей последовательности: Обратите внимание, что в последнем случае ICMP-пакеты блокируются веб-сервером. С помощью утилиты tracert (запускается в командной строке командой tracert ) определите маршруты следования и время прохождения пакетов до хостов, приведенных в задании 2. Если поля запроса отсутствуют, то ввод заканчивается двумя нажатиями клавиши <ENTER> для вставки пустой строки после заголовка. Следует обратить внимание на то, что при вводе нельзя допускать ошибок, поскольку при попытке их исправить с помощью клавиши <BACKSPACE>, ее нажатие интерпретируется как часть запроса.Порядок выполнения работы
Задание 1. Просмотр сетевых настроек
Задание 2
Задание 3.
Задание 4
Задание 5. Ознакомление с протоколом HTTP с помощью утилиты telnet
GET HTTP://WWW.YANDEX.RU/INDEX.HTML HTTP/1.0
Контрольные задания