Эта работа исследует несколько аспектов протокола HTTP: базовое взаимодействие GET/ответ, форматы сообщений HTTP, получение больших файлов HTML, получение файлов HTML со встроенными объектами, а также проверку подлинности и безопасность HTTP.
Во всех заданиях (а также во всех следующих лабах) предполагается, что вы к своему ответу приложите подтверждающий скрин программы Wireshark (достаточно одного скрина на задание).
- Запустите веб-браузер.
- Запустите анализатор пакетов Wireshark, но пока не начинайте захват пакетов. Введите «http» в окне фильтра, чтобы позже в окне списка пакетов отображались только захваченные сообщения HTTP.
- Подождите несколько секунд, а затем начните захват пакетов Wireshark.
- Введите в браузере адрес: http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html.
Ваш браузер должен отобразить очень простой однострочный HTML-файл. - Остановите захват пакетов Wireshark.
- Использует ли ваш браузер HTTP версии 1.0 или 1.1? Какая версия HTTP работает на
сервере?
- Какие языки (если есть) ваш браузер может принимать? В захваченном сеансе какую еще
информацию (если есть) браузер предоставляет серверу относительно пользователя/браузера?
- Какой IP-адрес вашего компьютера? Какой адрес сервера gaia.cs.umass.edu?
- Какой код состояния возвращается с сервера на ваш браузер?
- Когда HTML-файл, который вы извлекаете, последний раз модифицировался на сервере?
- Сколько байтов контента возвращается вашему браузеру?
Большинство веб-браузеров выполняют кэширование объектов и, таким образом, выполняют условный GET при извлечении объекта HTTP. Прежде чем выполнять описанные ниже шаги, убедитесь, что кеш вашего браузера пуст.
- Запустите веб-браузер и убедитесь, что кэш браузера очищен.
- Запустите анализатор пакетов Wireshark.
- Введите следующий URL-адрес в адресную строку браузера:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html.
Ваш браузер должен отобразить очень простой пятистрочный HTML-файл. - Введите тот же URL-адрес в браузер еще раз (или просто нажмите кнопку обновления в браузере).
- Остановите захват пакетов Wireshark и введите «http» в окне фильтра, чтобы в окне списка пакетов отображались только захваченные HTTP-сообщения.
- Проверьте содержимое первого HTTP-запроса GET. Видите ли вы строку «IF-MODIFIED-SINCE» в HTTP GET?
- Проверьте содержимое ответа сервера. Вернул ли сервер содержимое файла явно? Как вы
это можете увидеть?
- Теперь проверьте содержимое второго HTTP-запроса GET (из вашего браузера на сторону
сервера). Видите ли вы строку «IF-MODIFIED-SINCE» в HTTP GET? Если да, то какая
информация следует за заголовком «IF-MODIFIED-SINCE»?
- Какой код состояния HTTP и фраза возвращаются сервером в ответ на этот второй запрос
HTTP GET? Вернул ли сервер явно содержимое файла?
- Запустите веб-браузер и убедитесь, что кэш браузера очищен.
- Запустите анализатор пакетов Wireshark.
- Введите следующий URL-адрес в адресную строку браузера:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html
В браузере должен отобразиться довольно длинный текст. - Остановите захват пакетов Wireshark и введите «http» в окне фильтра.
- Сколько сообщений HTTP GET отправил ваш браузер? Какой номер пакета в трассировке
содержит сообщение GET?
- Какой номер пакета в трассировке содержит код состояния и фразу, связанные с ответом
на HTTP-запрос GET?
- Сколько сегментов TCP, содержащих данные, потребовалось для передачи одного HTTP ответа?
- Есть ли в передаваемых данных какая-либо информация заголовка HTTP, связанная с
сегментацией TCP?
Исследуйте, что происходит, когда ваш браузер загружает файл со встроенными объектами, т. е. файл, включающий в себя другие объекты (в данном примере это файлы и картинки), которые хранятся на другом сервере (серверах).
- Запустите веб-браузер и убедитесь, что кэш браузера очищен.
- Запустите анализатор пакетов Wireshark.
- Введите следующий URL-адрес в адресную строку браузера:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html.
Ваш браузер должен отобразить HTML-файл с двумя изображениями. На эти два изображения есть ссылки в базовом файле HTML. То есть сами изображения не содержатся в HTML, вместо этого URL- адреса изображений содержатся в загруженном файле HTML. Ваш браузер должен получить эти изображения с указанных веб-сайтов. - Остановите захват пакетов Wireshark и введите «http» в окне фильтра.
- Сколько HTTP GET запросов было отправлено вашим браузером? На какие интернет-адреса были отправлены эти GET-запросы?
- Можете ли вы сказать, загрузил ли ваш браузер два изображения последовательно или
они были загружены с веб-сайтов параллельно? Объясните.
Запустите веб-сайт, защищенный паролем, и исследуйте последовательность HTTP-сообщений, которыми обмениваются такие сайты.
- Убедитесь, что кеш вашего браузера очищен.
- Запустите анализатор пакетов Wireshark.
- Введите следующий URL-адрес в адресную строку браузера: http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html
- Введите требуемые имя пользователя и пароль во всплывающем окне
(Имя пользователя — «wireshark-students», пароль — «network»). - Остановите захват пакетов Wireshark и введите «http» в окне фильтра
- Каков ответ сервера (код состояния и фраза) в ответ на начальное HTTP-сообщение GET от вашего браузера?
- Когда ваш браузер отправляет сообщение HTTP GET во второй раз, какое новое поле включается в сообщение HTTP GET?