- •Дослідження мережних протоколів
- •Програма WireShark
- •Інсталяція Wireshark
- •Інтерфейс користувача Wireshark
- •Тестовий запуск Wireshark
- •Завдання
- •Дослідження Ethernet та arp
- •Перехоплення і аналіз кадрів Ethernet
- •Arp (протокол визначення адреси)
- •Arp Кешування
- •Спостереження за arp в дії
- •Протокол ip
- •Перехоплення пакетів програми traceroute
- •Дослідження перехоплених пакетів
- •Фрагментація
- •Протокол icmp
- •Протокол http
- •Базова взаємодія get/response
- •Умовна взаємодія http get/response
- •Завантаження великих документів
- •Html документи, що містять зовнішні об’єкти
- •Аутентифікація http
- •Протокол ssl
- •Перехоплення пакетів ssl сесії
- •Аналіз перехоплених пакетів
- •Протокол tcp
- •Перехоплення tcp пакетів, переданих від вашого комп’ютера на віддалений сервер
- •Перший погляд на перехоплені пакети
- •Основи tcp
- •Керування перенавантаженням tcp
- •Протокол udp
- •Протокол служби dns
- •Стеження за dns пакетами за допомогою Wireshark
- •Протокол dhcp
- •Експеримент з dhcp
Протокол udp
Через те, що транспортний протокол UDP доволі простий, то в цій лабораторній роботі ми зробимо лише його короткий огляд.
На цій стадії ви вже маєте знатися у Wireshark. Тому ми не будемо так детально проходити всі кроки, як у попередніх роботах, а також не надаватимемо прикладів знімків екрану з проміжними результатами.
Завдання
Розпочніть перехоплення пакетів за допомогою Wireshark, а потім зробіть що-небудь для того, щоб ваш хост почав приймати та передавати UDP пакети (один з можливих варіантів - це скористатися командою nslookup, яка розглядалася в лабораторній роботі по DNS). Після зупинки перехоплення пакетів налаштуйте фільтр відображення пакетів так, щоб Wireshark відображав лише UDP пакети. Виберіть один з UDP пакетів, та розгорніть його дані у вікні детального перегляду.
Відповідаючи на питання, бажано мати роздруківку пакетів, які вам знадобляться. Відмітьте ваші відповіді на роздруківці. Для друку пакетів виберіть File->Print в головному меню програми, далі оберіть пункти Selected packet only та Packet summary line, а також вкажіть мінімальну кількість інформації для друку, що вам потрібна.
Виберіть один пакет. Визначте, скільки полів міститься в заголовку обраного UDP пакета. Перерахуйте ці поля.
Визначте довжину кожного поля в UDP заголовку .
Значення в полі Length (розмір) - це розмір чого? Покажіть це на прикладі перехопленого вами UDP пакету.
Яку максимальну кількість байтів може переносити UDP пакет?
Який максимальний номер порту джерела повідомлення?
Який номер протоколу відповідає UDP? Дайте відповідь у десятковому та шістнадцятирічному представленнях (для відповіді вам знадобиться заглянути в заголовки IP протоколу).
Пошукайте “UDP” в пошуковій системі Google, та скажіть по яким полям UDP рахує контрольну суму (checksum).
Дослідіть пару UDP пакетів, з яких перший пакет був відправлений вашим комп’ютером, а другий – відповідь на нього. Опишіть взаємозв’язок між номерами портів в цих двох пакетів.
Додаткове питання:
Перехопіть маленький UDP пакет. Вручну підрахуйте контрольну суму пакету. Покажіть всю послідовність дій та прокоментуйте кожен крок.
Протокол служби dns
Domain Name System (DNS) – система, яка відображає імена хостів у IP адреси і тим самим відіграє одну з найважливіших ролей в інфраструктурі Інтернету. В цій роботі ми детальніше розглянемо клієнтську частину DNS. Нагадаємо, що роль клієнта в DNS є відносно простою – клієнт відправляє запит до локального DNS серверу та отримує відповідь. Решта роботи DNS невидима для клієнта (наприклад, ієрархічні DNS сервери спілкуються один з одним, щоб рекурсивно знайти відповідь на запит клієнта). Таким чином, з точки зору клієнта, протокол доволі простий - формується запит на локальний DNS сервер, а звідти надходить відповідь.
nslookup
В цій лабораторній роботі ми будемо часто користуватись інструментом nslookup, що доступний на більшості Linux/Unix та Microsoft платформ. Для запуску nslookup просто наберіть у командному рядоку команду nslookup.
Утиліта Nslookup дозволяє хосту, на якому вона виконується, надсилати запити до певного DNS серверу як до бази даних DNS записів. Цим DNS сервером може бути кореневий DNS сервер, DNS сервер верхнього рівня доменів, офіційний (authoritative) DNS сервер, чи проміжний DNS сервер. Для досягнення поставленої задачі nslookup відправляє DNS запит до певного DNS серверу, отримує звідти DNS і показує результат.
Мал.
Знімок екрану, наведений на Мал. , містить результат трьох незалежних nslookup команд. В цьому прикладі хост користувача знаходиться на території політехнічного університету в Брукліні, де локальний DNS сервер за замовчуванням - dns-prime.poly.edu. Коли запущена утиліта nslookup, якщо ніякий DNS сервер не вказаний, то nslookup відправляє запит на сервер за замовчуванням - в даному випадку dns-prime.poly.edu. Розглянемо першу команду:
nslookup www.mit.edu
Якщо трактувати команду словами, то тут говориться: «Будь ласка, надішліть мені IP адресу хоста www.mit.edu.». Як показано на знімку екрана, відповідь містить дві складові: 1) ім’я та IP адреса DNS серверу, який відповідає;
2) власне відповідь, що містить назву хоста та його IP адресу.
Хоча відповідь і прийшла з локального DNS серверу політехнічного університету, цілком можливо, що цей локальний сервер раніше багаторазово з’єднувався з декількома іншими DNS серверами для отримання відповіді.
Тепер розглянемо команду:
nslookup –type=NS mit.edu
В цьому прикладі ми вказали опцію “-type=NS” і домен “mit.edu”. Це змушує утиліту nslookup відправити запит стосовно серверів імен до локального DNS серверу. Інакше кажучи, запит трактується так: «Будь ласка, вишліть мені імена хостів, що є довіреними DNS серверами для mit.edu». Відповідь, що відображена на миттєвому знімку екрану, наведеному на Мал. , спершу вказує, який DNS сервер відповідає (а це є локальний DNS сервер за замовчуванням), а потім вказує три сервери імен. Кожен з цих серверів є дійсно офіційним (authoritative) DNS сервером для хостів університету Массачусетського технологічного інституту. Також nslookup зазначає, що відповідь є “non-authoritative” (відповідь прийшла з кешу якогось серверу, а не з офіційного DNS серверу Массачусетського технологічного інституту). І нарешті, відповідь також містить IP адреси знайдених DNS серверів (хоча даний запит і не вимагає список IP адрес серверів, локальний DNS сервер додає їх, а nslookup відображає результат).
І, нарешті, розглянемо третю команду:
nslookup www.aiit.or.kr bitsy.mit.edu
В цьому прикладі ми хочемо, щоб запит був відісланий DNS серверу bitsy.mit.edu, а не серверу за замовчуванням. Тому, операції запиту та відповіді здійснюються безпосередньо між нашим хостом та bitsy.mit.edu. В цьому прикладі DNS сервер bitsy.mit.edu дає IP адресу хосту www.aiit.or.kr, який є web-сервером інституту інформаційних технологій у Кореї.
Тепер, після декількох ілюстрованих прикладів, вам, напевне, цікаво подивитись на загальний синтаксис команд nslookup утиліти. Отже:
nslookup –option1 –option2 host-to-find dns-server
В загальному випадку утиліта nslookup може виконуватися як без опцій, так і з однією, двома, чи декількома опціями. І, як видно з наведених вище прикладів, вказування DNS серверу також є необов’язковим (якщо останній не вказаний, то запит відправляється до DNS серверу за замовчуванням).
Тепер, після огляду утиліти nslookup, прийшов час для її тестування.
Виконайте наступне (і запишіть результат):
Запустіть nslookup утиліту для отримання IP адреси web-серверу з Азії.
Запустіть nslookup утиліту, щоб отримати офіційний DNS сервер для університету з Європи.
Запустіть nslookup утиліту, щоб один з офіційних DNS серверів з п.2 виконував запит на знаходження серверів для електронної пошти Yahoo!.
ipconfig
Ipconfig (для Windows) та ifconfig (для Linux/Unix) - одні з найбільш корисних невеличких утиліт на вашому комп’ютері, особливо для вирішування проблем, пов’язаних з мережею. В даній роботі ми описуємо лише ipconfig, тому що утиліта ifconfig для Linux/Unix платформ є подібною. Ipconfig може бути використана для відображення вашої поточної мережної інформації, включаючи вашу IP адресу, адресу DNS серверу, тип адаптера та ін. Наприклад, якщо ви хочете переглянути інформацію про ваш комп’ютер, просто введіть:
ipconfig \all
в командний рядок, як показано на наступному знімку екрану (Мал. ):
Мал.
Ipconfig також корисна для управлінням DNS інформацією, що зберігається на вашому хості. Нагадаємо, що комп’ютер може кешувати нещодавно отримані DNS записи. Щоб переглянути ці закешовані дані, введіть наступну команду:
ipconfig /displaydns
Кожен запис показує свій час життя (Time to Live) у секундах. Для очищення кешу введіть:
ipconfig /flushdns
Остання команда після очищення кешу також перечитує файл hosts для відновлення збережених там записів.
