
Аутентифікація http
Нарешті, давайте спробуємо зайти на web сайт, який використовує аутентифікацію за допомогою пароля, та глянемо на HTTP повідомлення, що передаються. URL сайту: http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html . Логін «wireshark-students», пароль «network». Отже, давайте зайдемо на сайт, захищений паролем . Зробіть наступне:
Запустіть ваш web-браузер та переконайтеся, що кеш в ньому очищений. Перезапустіть браузер.
Запустіть перехоплення пакетів у Wireshark.
Введіть наступний URL у ваш браузер:
http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html
Введіть ім’я користувача та пароль.
Зупиніть перехоплення пакетів та введіть “http” в поле фільтру з метою відображення лише перехоплених повідомлень HTTP.
Яку відповідь дає сервер (код статусу та кодова фраза) на початкове повідомлення HTTP GET вашого браузера?
Тепер поглянемо на результат роботи Wireshark. Логін (wirehsark-students) та пароль (network), які ви вводили, закодовані в рядок символів (d2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms=), що слідує після “Authorization: Basic” заголовоку у вихідному повідомлені HTTP GET. На перший погляд може здатися, що ваш логін та пароль зашифровані, але насправді вони перекодовані в Base64 формат. Логін та пароль не зашифровані! Для того щоб переконатися в цьому просто перекодуйте кодований рядок з Base64 назад у ASCII кодування і ви побачите ваш логін та пароль. Оскільки кожен може завантажити та встановити таку програму як Wireshark та перехоплювати пакети, що проходять через деякий мережний адаптер, а також перекодовувати інформацію з Base64 в ASCII, то стає очевидним, що використання не захищених паролів для аутентифікації на сайтах замало і тому потрібно вживати додаткових заходів для їх захисту.
Протокол dhcp
В цій лабораторній роботі ми зробимо огляд DHCP протоколу. Нагадаємо, що DHCP широко використовується для динамічного призначення IP адрес хостам (а також для налаштування інших мережних параметрів).
Експеримент з dhcp
Відкрийте командний рядок Windows. Введіть команду “ipconfig /release”. Виконуючий файл для ipconfig знаходиться в каталозі C:\windows\system32. Ця команда скидає вашу поточну IP адресу, і тепер вона дорівнює 0.0.0.0.
Запустіть програму Wireshark та почніть перехоплення пакетів.
Поверніться до командного рядка Windows і введіть команду “ipconfig /renew”. Ця команда наказує вашому хосту отримати нові мережні налаштування з новою IP адресою. На мал.1 хост отримує IP адресу 192.168.1.108.
Дочекайтесь, доки команда “ipconfig /renew” не закінчить свою роботу. Після цього введіть повторно цю ж команду: “ipconfig /renew”.
Коли вдруге закінчить роботу команда “ipconfig /renew”, введіть команду “ipconfig/release” для скидання призначеної вам IP адреси.
Нарешті, введіть ще раз команду “ipconfig /renew” для призначення вам нової IP адреси.
Зупиніть перехоплення пакетів в Wireshark.
Тепер подивимось на результат роботи програми Wireshark. Для перегляду лише DHCP пакетів введіть в поле фільтру “bootp” (DHCP походить від давнішого протоколу BOOTP. BOOTP та DHCP використовують ті самі номера портів, 67 та 68. Щоб переглянути DHCP пакети в поточній версії Wireshark, ви маєте вводити “bootp”, а не “dhcp” в поле фільтру). Як видно з Мал.2, перша ipconfig команда “ipconfig /renew” спричиняє генерацію 4-хпакетів: DHCP Discover packet, DHCP Offer packet, DHCP Request packet, та DHCP ACK packet.
Результат роботи:
Результатом роботи має бути моментальний знімок екрану (screenshot) командного рядка Windows (подібного до Мал.1). При можливості, даючи відповіді на нижче наведені питання, покажіть роздруківку перехоплених пакетів. Для роздруківки пакетів, натисніть File->Print в головному меню, виберіть пункти Selectedpacketonly та Packetsummaryline, а також виберіть ту мінімальну кількість інформації для друку, що потрібна для відповідей на питання.
Дайте відповіді на наступні питання:
DHCP повідомлення відправляються через UDP чи TCP пакети?
Намалюйте часову діаграму, що ілюструє послідовність перших чотирьох Discover/Offer/Request/ACK DHCP пакетів обміну між сервером та хостом. Для кожного пакету визначте номери портів джерела та призначення. Ці номери портів збігаються з номерами у деяких прикладах?
Що таке адреса канального рівня (наприклад, Ethernet чи МАС адреса) вашого комп’ютера?
Які значення полів у повідомленні DHCP discover відрізняють його від DHCP request повідомлення?
Яке значення Transaction-ID в кожному з перших чотирьох Discover/Offer/Request/ACK DHCP пакетів? Яке значення Transaction-ID в другому наборі (Request/ACK) DHCP повідомлень? Яке призначення має Transaction-ID поле?
Комп’ютер використовує DHCP пакет для отримання різних мережних налаштувань, зокрема отримання IP адреси. Але ця IP адреса не затверджена до закінчення обміну останнім четвертим повідомленням. Якщо ж це дійсно так, то яке значення IP адреси використовується для обміну початковими 4-ма повідомленнями? Таким чином, для кожного з перших 4-х DHCP повідомлень (Discover/Offer/Request/ACK DHCP), визначте IP адресу джерела та адресу призначення у IP пакеті.
Яка IP адреса вашого DHCP серверу?
Яка IP адреса пропонується DHCP сервером для вашого комп’ютера у DHCP Offer повідомленні? Вкажіть, в якому DHCP повідомленні міститься запропонована IP адреса.
В прикладі, на миттєвому знімку екрану немає ретранслятора між хостом та DHCP сервером. Які поля свідчать про відсутність ретранслятора? Чи є ретранслятор у вашому прикладі? Якщо так, то яка його IP адреса?
Поясніть призначення маски мережі в DHCP Offer пакеті.
В прикладі, на миттєвому знімку екрану хост робить запит на прийняття запропонованої йому адреси в DHCP Request повідомлені. Що відбувається у вашому власному експерименті?
Поясніть призначення поля leasetime (час оренди). Наскільки довгий цей час у вашому експерименті?
Яке призначення DHCP release повідомлення? Чи DHCP сервер відправляє підтвердження отримання DHCP release повідомлення від клієнта? Що станеться, якщо DHCP release повідомлення буде втрачене?
Очистіть фільтр bootp з вікна Wireshark. Чи були якісь ARP пакети передані чи прийняті під час обміну DHCP пакетами? Якщо так, поясніть призначення ARP пакетів.