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

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

Зміст

  1. Як працює трасування
  2. Як зробити трасування
  3. Як зрозуміти результати трасування

Як працює трасування

Команда трасування відправляє по ланцюжку в напрямку кінцевого сервера три пакети даних з параметром TTL=1. Цей параметр означає кількість вузлів, яку можуть пройти пакети, і з кожним вузлом зв’язку зменшується на 1. Вузол, який отримує пакети з TTL=0, повертає комп’ютеру повідомлення, що далі вони не можуть йти. Traceroute фіксує адресу вузла, а також час проходження кожного пакета.

Далі traceroute знову відправляє три пакети, але з TTL=2. Перший вузол зменшує TTL і надсилає їх на наступний вузол. Потім все повторюється з TTL=3, TTL=4 і поки пакети не досягнуть мети. Коли пакети доходять до кінцевого вузла і він повертає повідомлення, що далі пакети йти не можуть, трасування вважається завершеним.

У операційних системах Linux та MacOS утиліта для трасування називається traceroute. У Windows використовується утиліта tracert. Показуємо, як ці утиліти працюють.

Трасування маршруту до сервера

На комп’ютері трасування робиться у командному рядку. Для смартфонів є спеціальні програми, наприклад, iNetTools (для iPhone) та Network Utilities (для Android). Ось інструкції для кожного із способів.

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

Windows

Натисніть комбінацію клавіш Win+R і у вікні, що відкриється, введіть команду cmd.

Відкриється командний рядок. Щоб зробити трасування, використовуйте tracert. Як адресу сервера можна вказати його IP-адресу або доменне ім’я.

tracert адреса_сервера 

Linux або Mac OS

У Mac OS перейдіть у бічному меню Finder у розділі «Програми», потім перейдіть до папки «Утиліти» і відкрийте програму «Термінал».

У Linux Термінал відкривається комбінацією клавіш Ctrl+Alt+T.

Як зробити Traceroute cmd MacOS

У Терміналі, щоб запустити трасування, використовується команда traceroute разом із доменним ім’ям або IP-адресою сервера.

traceroute адреса_сервера 
Команда трасування у cmd Mac OS

iPhone

На головній сторінці програми iNetTools перейдіть до розділу «Trace Route» і впишіть там у рядку пошуку домен або IP-адресу сервера. Результат трасування відобразиться трохи нижче в блоку Result.

Трасування IP через cmd на iPhone

Android

У програмі Network Utilities перейдіть до меню в лівому верхньому куті та відкрийте розділ «Traceroute». Введіть там у рядку пошуку домен або IP-адресу сервера, до якого хочете зробити трасування.

Як зробити traceroute IP-адреси в Android

Результати трасування

У результатах traceroute ви побачите список усіх вузлів на шляху до сервера, до якого прокладаєте маршрут. Наприклад розглянемо трасування до сайту hostiq.ua.

Як перевірити трасування до сайту

На початку перед першим вузлом видно, що трасування йде до IP-адреси 104.20.51.161, максимально можлива кількість вузлів — 64 штуки, а розмір кожного пакета — 52 байти.

traceroute to hostiq.ua (104.20.51.161), 64 hops max, 52 byte packets

Далі йдуть безпосередньо вузли маршруту: спочатку хостнейм вузла та його IP-адреса, потім три позначки часу — скільки в сумі пішло на відправлення та повернення кожного з трьох пакетів.

1       192.168.1.1 (192.168.1.1) 4.546 ms 3.477 ms 3.349 ms

Буває, замість якогось вузла відображаються зірочки. Це ще не означає, що є проблема. Зірочки у traceroute означають, що вузол не захотів відповідати на запити від вашого комп’ютера. Це могло статися з двох причин: або в налаштуваннях вузла вказано не відповідати, або вузол недоступний.

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

Як перевірити трасування до сервера - traceroute зірочки

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

Як зробити трасування до сайту - зірочки traceroute

Така проблема часто зустрічається в Linux або Mac OS, де traceroute за замовчуванням використовує протокол UDP і порти в діапазоні від 33434 до 33534 для трасування маршруту. Деякі файрволи блокують ці порти з метою безпеки.

Як варіант можна спробувати зробити трасування до сайту за протоколом ICMP. Для цього додайте опцію -I перед адресою сервера:

traceroute -I vashdomen.tk 
Як зробити трасування сайту в Linux

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

Що в результаті

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