Частина 1. Практичний посібник із використання Wireshark і tcpdump у локальних мережах. (Аналіз пакетів та основи організації мереж)

14 вересня 2023 1минута

Розв’язання проблем у локальних мережах: Використання Wireshark і tcpdump

Аналіз та моніторинг мереж – важлива складова сфери інформаційної безпеки та ефективної роботи комп’ютерних мереж. Wireshark і tcpdump – це два потужних інструменти, що дозволяють проводити детальний аналіз пакетів даних у локальних мережах. Вони надають можливість виявлення проблем, відстеження мережевого трафіку та забезпечення безпеки мережевих ресурсів. Wireshark – це графічний інструмент аналізу мережі, який дозволяє візуалізувати та фільтрувати пакети даних. Він забезпечує зручний інтерфейс для перегляду мережевого трафіку у реальному часі та в режимі аналізу пакетів. Його можливості дозволяють виявити проблеми, такі як перевантаження мережі, аномалії у спілкуванні між пристроями, атаки та інші аномалії.

Також, Wireshark є потужним інструментом для відлагодження мережевих додатків та служб. Інженери мереж можуть використовувати його для визначення причин низької продуктивності мережі та забезпечення її оптимізації. tcpdump, з іншого боку, є консольним інструментом для перехоплення та аналізу пакетів даних. Він забезпечує можливість моніторити мережевий трафік у реальному часі, а також записувати його для подальшого аналізу. tcpdump особливо корисний для адміністраторів мереж, які працюють у середовищах командного рядка і вимагають точного контролю над процесом аналізу мережі. Загалом, Wireshark і tcpdump є незамінними інструментами для професіоналів, які займаються адмініструванням, моніторингом та забезпеченням безпеки комп’ютерних мереж. Вони допомагають виявити та вирішити проблеми у локальних мережах та забезпечують безпеку та ефективність їх функціонування.

 Сніффінг (Аналіз) пакетів та їх аналізатори

Щодня в комп’ютерній мережі може відбуватися мільйон різних подій: від простого шпигунського зараження до складної помилки конфігурації роутера. І найкраще, на що ми можемо сподіватися, це бути готовими реагувати на ускладнення такого роду, повністю озброєні знаннями та інструментами.

Щоб дійсно розібратися в труднощах, які виникають в мережі, потрібно перейти на рівень пакетів. Всі труднощі в мережі починаються саме на цьому рівні, де можуть бути знайдені погані реалізації навіть самих акуратних на вигляд додатків, а заслуговують на перший погляд цілком заслуговують довіри мережеві протоколи виявляються шкідливими. Від нас тут нічого не приховають, адже на цьому рівні немає ні вводить в оману структури меню, ні привабливої графіки, ні ненадійних співробітників, ні взагалі ніякої секретної інформації, крім зашифрованої інформації. І чим більше нам вдається зробити на пакетному рівні, тим краще ми можемо контролювати нашу мережу і вирішувати виникаючі в ній труднощі. Це сфера нюхання пакетів.

Дана книга присвячена розгляду даної сфери. З реальних сценаріїв ви дізнаєтеся, як боротися з повільною передачею даних по мережі, виявляти вузькі місця додатків і навіть контролювати xакерів. Прочитавши цю книгу, ви зможете реалізувати техніки сніффінга пакетів, які допоможуть вам вирішити навіть найскладніші труднощі, що виникають у вашій мережі.

У цьому розділі представлені самі основи, з акцентом на передачу даних по мережі. Матеріал цього розділу допоможе вам отримати інструменти, необхідні для подальшого вивчення різних сценаріїв реальної роботи мереж.

Сніффінг пакетів і сніфери пакетів

Пакетний аналіз, який іноді називають аналізом протоколу, описує процес перехоплення та інтерпретації живих даних під час їх переміщення через мережу, щоб краще зрозуміти, що в ній відбувається. Зазвичай сніффінг пакетів виконується пакетним сніффером – інструментом, який використовується для перехоплення первинних даних, що передаються по мережевих проводах.

Сніффінг пакетів може допомогти вам з наступним:

  • Зрозумійте характеристики мережі.

  • Дізнайтеся, хто в мережі.

  • Визначте, хто або що «з’їдає» доступну пропускну здатність мережі.

  • Визначте моменти, коли використання мережі досягає свого піку.

  • Виявлення шкідливої активності в мережі.

  • Виявляйте небезпечні та громіздкі програми.

Існують різні програми для пакетного аналізу: як безкоштовні, так і комерційні. Кожна така програма призначена для певних цілей. Деякі з найпоширеніших програм нюхання пакетів включають tcpdump, OrnniPeek і Wireshark (остання присвячена цій книзі). 0mniPeek і Wireshark забезпечені графічним інтерфейсом користувача, тоді як tcpdump є утилітою командного рядка.

Оцінка аналізатора пакетів

Існує ряд факторів, які слід враховувати при виборі сніффера пакетів, в тому числі наступні:

  • Підтримка мережевих протоколів. Всі сніфери пакетів здатні інтерпретувати різні протоколи, і більшість з них є найпоширенішими мережевими протоколами (наприклад, IPv4 і ICMP), транспортні протоколи (наприклад, TCP і UDP) і навіть протоколи прикладного рівня (наприклад, DNS і NTGR). Хоча вони можуть не підтримувати нетрадиційні і більш складні протоколи (наприклад, IPv6, SMBv2 і SIP). Тому при виборі сніффера пакетів переконайтеся, що він підтримує використовувані протоколи.

  • Юзабіліті. Зверніть особливу увагу на інтерфейс сніффера пакетів, простоту його установки, загальну послідовність операцій. Програма, яку ви обираєте, повинна відповідати вашому рівню кваліфікації. Наприклад, якщо у вас дуже скромний досвід в сніффінге пакетів, навряд чи варто вибирати такі складні аналізатори пакетів командного рядка, як tcpdup. А якщо у вас є чималий досвід в аналізі пакетів, то вам підійде більш розвинена, хоча і складна програма. У міру набуття необхідного досвіду вам може навіть стати в нагоді комбінувати кілька програм сніффінга пакетів в окремих випадках.

  • Вартість. Чудово те, що багато сніфери пакетів безкоштовні і майже не поступаються своїм комерційним аналогам. І найголовніша відмінність безкоштовних аналізаторів пакетів від комерційних полягає в їх механізмах звітності. Комерційні продукти зазвичай включають виділений модуль генерації, в той час як безкоштовні додатки не вимагають таких інструментів, а тому надають лише обмежену звітність.

  • Підтримка програми. Навіть якщо ви освоїли основи нюхання пакетів, вам іноді знадобиться додаткова підтримка для вирішення нових проблем, коли вони виникають. Оцінюючи існуючу підтримку програми, зверніть увагу на документацію розробників, публічні форуми та списки розсилки користувачів. І хоча може не вистачати формалізованої комерційної підтримки безкоштовних нюхачів пакетів, таких як Wireshark, нерідко спільнота користувачів та дописувачів має активні дискусійні клуби, вікі та блоги, щоб допомогти вам отримати максимальну віддачу від обраного вами нюхача пакетів.

  • Доступ до вихідного коду. Деякі аналізатори пакетів є програмним забезпеченням з відкритим вихідним кодом. Це дає можливість переглядати вихідний код програми, а іноді і вносити в нього необхідні корективи. Якщо у вас є спеціальний або складний випадок для використання сніффера пакетів, то така можливість буде для вас дуже привабливою. Вихідний код для більшості комерційних аналізаторів пакетів недоступний.

  • Підтримка операційної системи. На жаль, не всі сніфери пакетів підтримують кожну операційну систему. Якщо ви працюєте консультантом, вам може знадобитися перехоплення та аналіз пакетів у найрізноманітніших операційних системах. Тому вам знадобиться інструмент, який працює на більшості операційних систем. Також слід враховувати, що пакети іноді доведеться перехоплювати на одній машині і переглядати на іншій. Відмінності в операційних системах можуть змусити вас використовувати різні програми на окремих машинах.

Як працюють сніфери пакетів

У процесі аналізу пакетів беруть участь як програмні, так і апаратні засоби. Цей процес ділиться на наступні етапи.

  1. Збір даних. Перш за все, сніффер пакетів збирає первинні двійкові дані з мережі. Як правило, це робиться шляхом перемикання обраного мережевого інтерфейсу в змішаний режим (pmmiscuous mode). У цьому режимі NIC може отримувати весь трафік на сегменті мережі, а не тільки адресований йому трафік.

  2. Трансформації. Далі перехоплені двійкові дані перетворюються в зрозумілу людині форму. На це здатні більшість просунутих аналізаторів пакетів, що працюють в режимі командного рядка. На цьому етапі дані мережі можуть бути автоматично інтерпретовані лише на самому рудиментарному рівні, залишаючи більшу частину аналізу кінцевому користувачеві вручну.

  3. Аналіз. Нарешті, сніффер пакетів аналізує захоплені і перетворені дані. Зокрема, він перевіряє протокол даних, перехоплених в мережі, на основі витягнутої інформації, після чого починає аналізувати характерні особливості цього протоколу.

Встановлення зв’язку між комп’ютерами

Щоб повністю зрозуміти сніффінг пакетів, потрібно точно знати, як налагоджений зв’язок між комп’ютерами. У цьому розділі ми розглянемо основи мережевих протоколів, модель OSI (Orep Systems Interconnections), мережеві кадри даних і апаратну підтримку всього цього.

Мережеві протоколи

Сучасні мережі складаються з різних систем, що працюють на різних платформах. Ряд мережевих протоколів служить загальнозрозумілою мовою для зв’язку між цими системами. Серед найбільш поширених – TCP (Transmission Control Protocol), IR (Internet Protocol), ARP (Address Resolution Protocol) і DHCP (Dynamic Host Confguration Protocol). Всі ці протоколи логічно згруповані разом для спільної роботи в так званому стеку протоколів.

Зручно порівнювати проколи з правилами, що регулюють використання природної мови. Кожна мова має певні правила, такі як порядок відмінювання дієслів, як люди вітають їх і навіть як належним чином подякувати комусь. Аналогічним чином працюють протоколи, що дозволяють визначити порядок маршування пакетів, встановлення мережевого з’єднання і отримання підтвердження даних.

Протокол може бути як дуже простим, так і надзвичайно складним залежно від його функцій. Хоча різні протоколи можуть значно відрізнятися, багато мережевих протоколів призначені для вирішення таких проблем:

  • Встановлення зв’язку. Хто ініціює підключення: користувач чи сервер? Якою інформацією слід обмінюватися перед встановленням з’єднання?

  • Відповідність характеристик з’єднання. Чи зашифровано протокол мережі? Обмін ключами шифрування між хостами підключення (тобто мережевими хостами)

  • Форматування даних. Як організовані дані, що містяться в пакеті? У якому порядку дані обробляються приймальним пристроєм?

  • Виявлення та виправлення помилок. Що станеться, якщо посилка займе занадто багато часу, щоб дістатися до місця призначення? Як клієнту відновити свою роботу, якщо він не може встановити з’єднання з сервером в найкоротші терміни?

Семиуровневая модель OSI

Мережеві протоколи класифікуються за функціями на основі стандартної моделі OSI в галузі. Дана ієрархічна модель складається з семи рівнів і дуже зручна для розуміння особливостей зв’язку і передачі даних по мережі. На рис. 1.1, праворуч, показані шари моделі OSI, а відповідна термінологія для позначення даних на кожному з цих шарів – зліва. У самому верху цієї моделі знаходиться прикладний рівень, який представляє програми, призначені для доступу до мережевих ресурсів, а в самому низу – фізичний рівень, де, по суті, переміщаються дані по мережі. Протоколи на кожному рівні працюють разом, щоб забезпечити належну обробку даних на рівнях безпосередньо вище і нижче.

Кожен шар моделі OSI виконує певну функцію, як пояснено нижче.

  • Рівень застосування (сьомий). На цьому самому верхньому рівні моделі OSI надається засіб доступу користувачів до мережевих ресурсів. Як правило, це єдиний шар, доступний кінцевим користувачам, так як надає інтерфейс, на основі якого вони здійснюють всю свою діяльність в мережі.

  • Рівень представлення даних (шостий). На цьому рівні отримані дані перетворюються в формат, який читається в прикладному рівні. Порядок кодування та декодування даних на цьому рівні залежить від протоколу, який використовується на прикладному рівні для передачі та отримання даних. На рівні для їх захисту також може використовуватися кілька форм шифрування та дешифрування даних.

  • Сесійний рівень (п’ятий). На цьому рівні відбувається розмова або сеанс спілкування між двома комп’ютерами. Сесійний рівень відповідає за встановлення дуплексного (тобто двонаправленого) або напівдуплексного (тобто односпрямованого) з’єднання, а також за правильне (тобто не різке і раптове) відключення між двома хостами (тобто вузлами мережі).

  • Транспортний рівень (четвертий). Основним призначенням транспортного рівня є забезпечення надійних транспортних послуг до нижчих шарів. Завдяки управлінню потоками даних, їх сегментації та десегментації, виправленню помилок на транспортному рівні забезпечується безпомилкова доставка даних з однієї точки мережі в іншу. Забезпечити надійну доставку даних вкрай складно, тому модель OSI має окремий шар для цієї мети. На транспортному рівні використовуються як протоколи на основі з’єднань, так і без з’єднання. Саме на цьому рівні працюють певні брандмауери і проміжні, так звані проксі-сервери.

  • Мережевий рівень (третій). Один з найскладніших шарів моделі OSI, який забезпечує маршрутизацію даних між фізичними мережами і правильну адресацію вузлів мережі (наприклад, за адресою IP). На цьому рівні також відбувається розбивка потоків даних на більш дрібні частини, а іноді і виявлення помилок. Саме на цьому рівні діють учасники маршу.

  • Рівень каналу передачі даних (другий). Цей шар надає засоби для міграції даних по фізичній мережі. Основне призначення цього рівня – забезпечити схему адресації для позначення фізичні пристрої (наприклад, MAC-адреси). Саме на цьому рівні працюють такі фізичні пристрої, як мости і перемикачі.

  • Фізичний рівень (перший). Це найнижчий рівень моделі OSI, де знаходиться середовище, по якій передаються мережеві дані. Цей рівень визначає фізичні та електричні характеристики всього мережевого обладнання, включаючи рівні напруги мережі, концентратори, мережеві адаптери, ретранслятори та кабелі. На фізичному рівні встановлюються і розриваються мережеві з’єднання, надаються засоби спільного використання мережевих ресурсів і перетворення сигналів з цифрового в аналоговий вигляд, і навпаки.

ПРИМІТКА: Для зручності запам’ятовування рівнів моделі OSI в англійській мові використовується мнемонічна фраза «Please Do Not Throw Sausage Pizza Away», де великими словами окремих слів позначаються назви кожного рівня даної моделі, починаючи з першого.

У табл 1.1 перераховує деякі з найбільш поширених протоколів, що використовуються на кожному рівні моделі OSI.

Хоча модель OSI є лише рекомендованим стандартом, її слід знати напам’ять, оскільки вона надає зручний глосарій термінів для розуміння та опису труднощів, що виникають у мережах. Читаючи книгу, ви виявите, що проблеми маршрутизації потрапляють на третій рівень моделі, а проблеми програмування – на  сьомий.

Передача даних по моделі OSI

Спочатку передача даних по мережі починається на прикладному рівні передавальної системи. Дані проходять зверху вниз по всіх рівнях моделі 0SI, поки не досягнуть фізичного шару, де знаходиться точка, з якої дані відправляються з передавальної системи в приймальну систему. А приймальна система отримує дані на своєму фізичному рівні, звідки дані проходять знизу вгору через всі шари моделі OSI, в кінцевому підсумку досягаючи прикладного рівня.

Кожен шар моделі OSI може взаємодіяти тільки з шарами безпосередньо над і під нею. Наприклад, на рівні 2 дані можуть бути відправлені та отримані лише з шарів та S.

Жодна з послуг, що надаються різними протоколами на будь-якому заданому рівні моделі OSI, не повинна бути зайвою. Отже, якщо протокол надає конкретну послугу на одному рівні, то жоден інший протокол на будь-якому іншому рівні не повинен надавати таку ж послугу. Протоколи різних рівнів можуть мати кошти, які служать схожим цілям, але їх функціонування буде хоч трохи, але все ж відрізнятися.

Протоколи на відповідних рівнях передавальних і приймальних пристроїв доповнюють один одного. Так, якщо за форматування переданих даних відповідає протокол на сьомому рівні передавального пристрою, то за зчитування отриманих відформатованих даних повинен відповідати відповідний протокол на сьомому рівні приймального пристрою.

На рис. На рисунку 1.2 представлено графічне представлення моделі 0SI на двох пристроях, пов’язаних між собою. Як бачите, передача даних відбувається зверху вниз на одному пристрої, а прийом відбувається в зворотному порядку на іншому пристрої.

Інкапсуляція даних

Протоколи, що працюють на різних рівнях моделі OSI, спілкуються за допомогою інкапсуляції даних. Кожен шар цієї моделі відповідає за додавання на початок і кінець переданих даних відповідного заголовка і кінцевого вимикача у вигляді додаткових біт інформації, призначених для взаємодії між шарами. Коли, наприклад, дані надходять на транспортному рівні з сесійного рівня, транспортний рівень додає до цих даних власний заголовок, що містить необхідну інформацію, перш ніж передавати їх далі на мережевий рівень.

В процесі інкапсуляції створюється блок даних протоколу, який включає в себе передані дані і всю додану заголовок і кінцеву інформацію. У міру переміщення даних зверху вниз моделі OSI і додавання до неї заголовкової і кінцевої інформації на різних рівнях, PDU змінюється, поступово зростаючи. У своєму остаточному вигляді ПДУ утворюється при досягненні фізичного рівня,  де він надсилається до приймального пристрою на місці призначення. А на приймачі заголовки і кінцеві вимикачі витягуються відповідними протоколами з PDU в зворотному порядку в міру проходження даних знизу вгору по шарах моделі OSI. І як тільки PDU досягає верхнього шару моделі OSI, залишаються тільки дані з вихідного прикладного рівня.

Щоб продемонструвати, як працює інкапсуляція даних, давайте розглянемо спрощений практичний приклад створення, передачі та прийому пакета по відношенню до моделі OSI. Однак сніфери пакетів рідко згадують сеансовий або презентаційний рівень моделі OSI. Саме тому обидва ці рівня відсутні в розглянутому тут прикладі, як, втім, і в інших прикладах цієї книги.

У цьому випадку робиться спроба перегляду веб-сторінки за адресою В данном случае предпринимается попытка просмотреть веб-страницу по адресу http: //www.google.com/. Першим кроком є створення пакета запитів, який надсилається з вихідного клієнтського комп’ютера на комп’ютер сервера призначення. У цьому випадку передбачається, що сеанс TCP/IP вже встановлений.

Процес інкапсуляції даних в розглянутому тут прикладі наочно показаний на рис. 1.3

Отже, почнемо з комп’ютера Julient на рівні додатків. Тут мова йде про перегляд сторінки веб-сайту, а тому використовується протокол мережі HTTP. За допомогою цього протоколу видається команда на завантаження індексного файлу. htm1 зі сторінки за вказаною вище адресою.

ПРИМІТКА: На практиці браузер спочатку запитає у веб-сайту кореневий кататог Docs, позначений косою рискою (1). Як тільки сервер отримує цей запит, він перенаправляє браузер на файл, який налаштований обслуговувати запити на видачу кореневого каталогу документів. Зазвичай це файл типу index. hbnl або індекс .php. Більш детально про це піде мова в главі 9 «Розподіл протоколів верхнього рівня» при обговоренні мережевого протоколу NDP.

Як тільки з протоколу прикладного рівня відправляється команда, залишається тільки доставити пакет до місця призначення. Дані з пакета передаються зверху вниз на транспортний рівень. У протоколі HTTP прикладного рівня використовується протокол TCP, так як перший розташовується в стеку протоколів над другим, і фактично «сидить» на ньому. На транспортному рівні генерується TCP-заголовок, який додається в блок PDU, як показано на рис. 1.3. Даний заголовок TCP включає серійні номери та інші дані, що додаються в упаковку і забезпечують її правильну доставку.

ПРИМІТКА: Нерідкі випадки, коли мережеві експерти кажуть, що один мережевий протокол є “CIDit” або “EZDit” на іншому протоколі через низхідний характер архітектури моделі 0SI. Таким чином, протокол H7TP прикладного рівня надає певні послуги, спираючись на протокол TCP транспортного рівня dm для надійного надання своїх послуг. А служби обох цих протоколів покладаються на IP-протокол мережевого рівня для доставки даних за адресою. Таким чином, протокол HTTP «сидить» на каналі TCP, а останній – на протоколі IP.

Після виконання свого завдання протокол TCP передає пакет в протокол IP третього рівня, який відповідає за логічну адресацію пакета. Для цього протокол IP генерує логічну адресаційну інформацію, яка додається в PDU, після чого пакет передається в протокол Ethernet на канальному рівні, де зберігаються фізичні адреси Ethcrnet Таким чином, повністю зібраний пакет переноситься на фізичний рівень,   де він передається в двійковій формі одиниць і нулів по мережі.

Повний пакет переноситься по кабельній системі мережі, в кінцевому підсумку досягаючи веб-сервера Google. Цей веб-сервер починає зчитування отриманого пакета знизу вгору, тобто починаючи з інформації транспортного рівня, яка містить інформацію про фізичну адресацію по протоколу Ethernet. Ця інформація використовується мережевим адаптером для визначення того, чи призначений отриманий пакет для цього конкретного веб-сервера. Після обробки цієї інформації з пакета видаляється інформація другого рівня і обробляється інформація третього рівня.

Інформація IP-адресації третього рівня зчитується, щоб переконатися, що пакет адресований правильно і не розбитий на частини. Ця інформація також видаляється з упаковки, щоб забезпечити обробку інформації наступного рівня.

Далі зчитується інформація з протоколу TCP четвертого рівня, щоб переконатися, що пакет надійшов в правильній послідовності. Потім інформація четвертого рівня видаляється з пакета, залишаючи лише дані рівня програми, які можуть бути передані до серверної програми, розгорнутої на вказаному веб-сервері. У відповідь на цей пакет від клієнта сервер повинен спочатку передати пакет підтвердження через TCP, щоб повідомити клієнта про успішне отримання його запиту, а потім запитуємо файл index. html.

Всі пакети створюються і обробляються способом, описаним в даному прикладі, незалежно від використовуваних протоколів. Але при цьому не кожен пакет в мережі формується, починаючи з протоколу прикладного рівня. Нерідко в мережі можна зустріти пакети, які містять інформацію тільки з протоколів другого, третього або четвертого рівня.

Мережеве обладнання

Тепер давайте розглянемо мережеве обладнання, де виконана вся чорнова робота по обміну даними по мережі. У цьому розділі мова піде про найбільш характерних компонентах мережевого обладнання, до яких відносяться концентратори, комутатори і маршрутизатори.

Концентратори

Типовий концентратор являє собою прямокутний корпус з діапазоном портів RJ-45, аналогічний моделі NETGEAR, показаної на рис. 1.4 Концентратори варіюються від дуже маленьких 4-портових пристроїв до великих 48-портових стійкових пристроїв для корпоративних середовищ.

Хаби можуть генерувати багато непотрібного мережевого трафіку і працювати тільки в напівдуплексному режимі, тобто не здатні одночасно передавати і приймати дані. Тому концентратори, як правило, не використовуються в більшості сучасних мереж, а також в мережах з високим трафіком, де замість них використовуються комутатори, розглянуті нижче. Однак ви повинні знати, як працюють концентратори, оскільки вони відіграють важливу роль у техніці нюхання пакетів під назвою «нюхання пакетів хаба», про яку йдеться у розділі 2 «Підключення до хаба»

Концентратор – це всього лише ретранслятор, який працює на фізичному рівні моделі OSI. Він приймає пакети, відправлені з одного порту, і передає їх на всі інші порти, тобто повторює їх, а обов’язок приймаючого пристрою – прийняти або відхилити кожен пакет. Наприклад, якщо потрібно перенести дані з комп’ютера, підключеного до порту одного концентратора на 4 порти, потрібно передати дані на комп’ютер підключений до порту 2,  хаб спрямує ці пакети до портів 2, 3 та 4. Клієнти, підключені до портів 3 і 4, перевірять поле адреси одержувача на відповідність стандарту Media Access Control, або просто MAC-адреси в пакеті і  виявлять, що пакет їм не призначений, а тому пропустять (тобто відхилять) його. На рис.. На рисунку 1.5 наведено приклад, коли комп’ютер A передає дані на комп’ютер B. Коли комп’ютер A надсилає ці дані,  Їх отримують усі комп’ютери, підключені до концентратора. Але тільки комп’ютер B фактично приймає надіслані дані, тоді як інші комп’ютери відхиляють їх.

В якості аналогії припустимо, що повідомлення про «Увага всім співробітникам відділу маркетингу» розсилається по електронній пошті всім в компанії, а не тільки тим, хто працює у відділі маркетингу. Побачивши це повідомлення, співробітники цього відділу відкриють його, а інші співробітники компанії проігнорують його, так як воно їх не стосується. Цей приклад наочно показує, що такий підхід до передачі даних по мережі призводить до появи непотрібного трафіку і марної трати часу. Але саме так працює хаб. Оптимальним варіантом заміни хабів у виробничих і високопрохідних мережах є комутатори – дуплексні пристрої, здатні синхронно передавати і приймати дані.

Комутатори

Як і концентратор, приміський пристрій призначений для повторення пакетів. Але на відміну від концентратора, комутатор не відправляє дані на кожен порт, а відправляє їх тільки на той комп’ютер, для якого він призначений. Комутатори дуже схожі на концентратори, як показано на рис. 1.6.

Деякі великі комутатори (наприклад, Cisco) запускають спеціалізоване програмне забезпечення або веб-інтерфейси, розроблені OEM. Такі комутатори зазвичай називаються керованими комутаторами і надають ряд корисних можливостей управління мережею, включаючи активацію і деактивацію портів, переглядайте статистику портів, вносьте налаштування конфігурації та віддалено перезавантажуйтеся.

Пасажири надають додатковий функціонал для обробки переданих пакетів. Для безпосереднього зв’язку з певними пристроями комутатори повинні однозначно розпізнавати пристрої за їх MAC-адресами. Це означає, що вони повинні працювати на рівні каналу передачі даних моделі OSI.

Комутатори зберігають адреси другого рівня кожного підключеного до них пристрою в таблиці асоціативної пам’яті (CAM – Content Addressable Memory), яка виконує роль регулювальника. Коли пакет передається, комутатор зчитує інформацію з заголовка другого рівня в цьому пакеті і, використовуючи таблицю асоціативної пам’яті в якості еталону, визначає, до яких портів пакет повинен бути спрямований. Комутатори відправляють пакети тільки на певні порти, тим самим значно зменшуючи мережевий трафік.

На рис. На рисунку 1.7 показано порядок проходження мережевого трафіку через комутатор. Зокрема, комп’ютер А відправляє дані тільки на комп’ютер Б як призначеного йому одержувача. При цьому в мережі може вестися безліч розмов, але дані передаються безпосередньо між приміським і призначеним приймачем, а не між комутатором і всіма підключеними до нього комп’ютерами.

Маршрутизатори

RoutingisATF – це передовий мережевий пристрій з набагато більш високим рівнем продуктивності, ніж комутатор або концентратор. Маршрутизатор може приймати різні форми і форми, але зазвичай має кілька світлодіодів на передній панелі і ряд мережевих портів на задній панелі, в залежності від розміру мережі. Приклад маленького маршугизатора показаний на рис., 1.8.

Маршрутизатори працюють на третьому рівні моделі OSI, де відповідають за пересилання пакетів між двома і більше мережами. Процес, за допомогою якого маршрутизатори направляють мережевий трафік між мережами, називається маршрутизацією. Існує кілька типів протоколів маршрутизації, які визначають порядок маршрутизації різних типів пакетів в інші мережі. Зазвичай маршрутизатори використовують адреси третього рівня (наприклад, адреси IP) для унікального розпізнавання пристроїв в мережі.

Щоб проілюструвати поняття маршрутизації, звернемося до аналогії сусідства міських вулиць, представляючи будинки з їх адресами у вигляді комп’ютерів, а кожну вулицю як сегмент мережі (рис. 1.9). Виходячи з дому, ви легко зможете відвідати сусідів в інших будинках на тій же вулиці, пройшовшись прямо по тротуару від вхідних дверей одного будинку до іншого. Аналогічним чином комутатор забезпечує зв’язок між усіма комп’ютерами в одному сегменті мережі.

Але спілкування з сусідами, що живуть на іншій вулиці, схоже на спілкування з комп’ютером на іншому відрізку мережі. Дивлячись на рис. 1.9, припустимо, що ви живете за адресою вулиця Виноградна, будинок 502, і дістатися до будинку потрібно за адресою Кизил 206. Для цього необхідно повернути спочатку на вулицю Дубравну, а потім на Кизилову алею. Це можна порівняти з перетином різних сегментів мережі. Так, якщо прилад розташований на 192 .168 . 0 . H, потрібно зв’язатися з приладом, розташованим за адресою 192 .168. 0 . 54, він повинен зробити це спочатку через свого маршугайзера, щоб досягти мережі о 10 .100 . 1 . , а потім через маршрутизатор цільового сегмента мережі, перш ніж досягти цього сегмента.

Розмір і кількість маршрутизаторів в мережі зазвичай залежать від її розміру і функції. На кордоні особистих, домашніх і невеликих офісних мереж може бути встановлений тільки один невеликий маршугайзер. А в великих корпоративних мережах може знадобитися кілька маршрутизаторів, встановлених в різних відділах організації і підключених до одного центрального маршрутизатора або приміського сполучення третього рівня (тобто вдосконалений тип приміського транспорту з вбудованими можливостями для функціонування в якості маршрутизатора).

Подивившись на наступні мережні схеми, ви в кінцевому підсумку зрозумієте, як дані проходять через різні точки мережі. Отже, на рис. На малюнку 1.10 представлена дуже поширена форма компонування знизуваної мережі. В цьому випадку дві окремі мережі підключаються через один маршрутизатор. Якщо комп’ютер в мережі А потребує зв’язку з комп’ютером по мережі Б, то дані, що передаються з нього, обов’язково повинні проходити через маршрутизатор.

Класифікація мережевого трафіку

Мережевий трафік можна класифікувати на три типи: широкомовний, багатоадресний і одноадресний. Кожна з цих класифікацій мережевого трафіку має свої особливості, що визначають порядок обробки пакетів в мережевому обладнанні.

Трафік трансляції

Широкомовний пакет – це пакет, який відправляється на всі порти сегмента мережі, незалежно від того, встановлений порт на концентраторі або комутаторі. Існують форми  трансляції трафіку другого і третього рівня. На другому рівні MAC-адреса ff: є  зарезервованим адресою трансляції, і будь-який трафік, спрямований на цю адресу, поширюється по всьому сегменту мережі. Також є адреса трансляції на третьому рівні,  Але він змінюється в залежності від використовуваного діапазону адрес мережі.

Найбільша з усіх IP-адрес, дозволених в діапазоні адрес IRnet, зарезервована для використання в якості широкомовної адреси. Так, якщо комп’ютер має адресу 192 .168 . 0 .20 і маска підмережі 255 .255.255.0, адреса 192.168.0.255 виявляється трансляцією (докладніше про адресації IР мова піде в главі 7, «Протоколи мережевого рівня»).

Межа, до якого можуть поширюватися широкомовні пакети, називається широкомовним доменом, який представляє собою сегмент мережі, де будь-який комп’ютер може безпосередньо передавати дані на інший комп’ютер без допомоги маршрутизатора. У великих мережах з безліччю концентраторів або комутаторів, підключених через різні засоби зв’язку і носіїв, широкомовні пакети від одного комутатора досягають всіх портів на всіх інших комутаторах в мережі, тому що пакети повторюються при проходженні від одного комутатора до іншого. На рис. На рисунку 1.11 наведено приклад двох широкомовних доменів в невеликій мережі. Кожен широкомовний домен розширюється, поки не досягне маршугайзера, і тому широкомовні пакети циркулюють тільки в цьому конкретному домені.

Згадана раніше аналогія з сусідством міських вулиць також дозволяє наочно показати принцип роботи трансляційних доменів. Зокрема, домен трансляції можна розглядати як сусідську вулицю, де всі сусіди сидять на своєму ганку. Якщо ви стоїте на своєму ганку і кричите, то мешканці на вашій вулиці зможуть вас почути. Але якщо ви хочете поспілкуватися з кимось на іншій вулиці, вам доведеться знайти якийсь спосіб зробити це безпосередньо, а не широко транслювати (крик) зі свого під’їзду.

Багатоадресний трафік

Multicast  – це одночасна передача пакета з одного джерела в багато пунктів призначення. Метою багатоадресної передачі є використання якомога меншої пропускної здатності мережі. Оптимізація багатоадресного трафіку полягає в тому, щоб менше тиражувати потік даних по його маршруту до місця призначення. Конкретна обробка багатоадресного трафіку залежить від його реалізації в окремих мережевих протоколах.

Багатоадресний трафік реалізується в першу чергу через схему адресації, яка додає приймачі пакетів в багатоадресну групу. Саме так працює багатоадресна передача по протоколу IP Інтернету. Така схема адресації гарантує, що пакети не передаються на комп’ютери, для яких вони не призначені. Якщо ви знайшли адресу IР в діапазоні від 224.0.0.0 до 239 .255 .255 .255, то він, швидше за все, обробляється для багатоадресного трафіку, так як саме в цих межах адреси резервуються для таких цілей.

Одноадресний трафік

Одноадресний пакет передається безпосередньо з одного комп’ютера на інший. Конкретне функціонування одноадресної передачі залежить від використовуваного мережевого протоколу. Прикладом може служити пристрій, якому необхідно встановити зв’язок з веб-сервером. Це з’єднання точка-точка, а отже, і процес передачі даних, повинні бути запущені клієнтським пристроєм, який передає пакет тільки на веб-сервер.

Заключні міркування

У цій главі були представлені основи роботи в мережі, які потрібно знати для аналізу пакетів. Зокрема, необхідно чітко розуміти, що саме відбувається на даному рівні передачі даних по мережі, перш ніж приступати до діагностики мережі. У главі 2 «Підключення до мережі» ми обговоримо ряд методів захоплення пакетів, які необхідно проаналізувати.

Ми використовували матеріали з книги “PRACTICAL РАСКЕТ ANALYSIS , яку  написав Кріс Сандерс.

Інші статті по темі
Found an error?
If you find an error, take a screenshot and send it to the bot.