Як зробити трасування сервера?
- 27.10.2022, 11:11
- 6002
Ймовірно Ви зіштовхувалися із різними проблемами під час під'єднання до ресурсу в мережі Інтернет, наприклад, такими як висока затримка або зовсім не доступність. Такі проблеми можуть бути викликані некоректною роботою проміжних пристроїв у мережі як хостера, так і кінцевого користувача.
Перший крок для усунення неполадок — це перевірити пінг вузла або ж виконати трасування маршруту. Трасування допоможе визначити Вам, на якій ділянці шляху виникає проблема.
Трасуванням називається команда, яка виконує перевірку маршруту проходження даних на шляху до сервера і видає вам структуровані дані про маршрут і помилки, що виникли.
Як відбувається трасування?
Процес трасування для різних операційних систем має свої особливості. Основна відмінність полягає у виклику самої команди: так для Windows команда викликається як tracert, а для Linux та MacOS — traceroute.
Команда TRACERT працює на основі ICMP протоколу, команда надсилає так звані ехо-пакети TTL по черговості, збільшуючи їхній розмір на одиницю, і відстежує їхній шлях. TTL позначає час життя пакета. На початку програма відправляє TTL-1, який дорівнює 1, він прямує до першого вузла, доходячи до нього, зменшується на одиницю і відправляється назад. Відповідь, яка приходить від першого вузла, записується в першому рядку — фіксується адреса вузла і час проходження шляху. Після надсилається запит із TTL-2, який збільшується на одиницю порівняно з TTL-1. Потім він прямує до першого вузла, де зменшується на одиницю, далі прямує до другого вузла, де вже дорівнюватиме нулю і відповідно повертається назад. Цей процес триває доти, доки запит не дійде до сервера.
Команда TRACEROUTE працює на основі надсилання UDP фрагментів і отримання повідомлення про доступність/недосяжність порту. Host генерує UDP фрагмент, інкапсулює його в IP-пакет і виставляє TTL=1. Транзитний вузол відповість на цей пакет icmp повідомленням про закінчення часу життя пакета. Утиліта traceroute, отримавши це повідомлення, вказує адресу джерела ICMP пакета як адресу першого хопа. Далі процес повторюється з інкрементуванням TTL пакета. Усе практично так само, як і в tracert. У процесі трасування номер порту призначення UDP буде інкрементуватися при кожній спробі (33 434, 33 435 і т д). Може вийти так, що порт призначення буде відкритий. У цьому разі сервер надішле на хост-ініціатор, наприклад, TCP ACK, якщо для трасування використовуються TCP SYN пакети, що теж буде тригером до закінчення трасування. У цій статті ми розглянемо, як проводити трасування на Windows, Linux та MacOS.
Трасування на Windows
Для того, щоб провести трасування, потрібно виконати наступні дії:
- Для початку зайдіть у меню «Пуск» і введіть у рядку пошуку «Виконати». Або Ви можете скористатися командою швидкого виклику програми, для цього затисніть на клавіатурі поєднання клавіш «Win + R». Перед Вами з’явиться наступне вікно «Запуск програми».
- У вікні «Запуск програми» потрібно ввести «cmd».
- Тепер перед Вами з’явився командний рядок ОС Windows, у якому потрібно ввести «tracert IP-адреса «. Ви можете вказати як IP-адресу сервера, що перевіряється, так і доменне ім'я, обов’язково ці дані потрібно вести через пробіл після команди «tracert» і натиснути клавішу «Enter».
Після проведених дій, Ви отримуєте дані аналізу. Команда tracert виводить дані у вигляді таблиці. Таблиця міститиме дані в такому порядку: порядковий номер вузла, кругова затримка (час), ім'я вузла, IP-адреса вузла.
Трасування на Linux
Трасування на Linux здійснюється таким чином:
- Для виклику командного вікна затисніть на клавіатурі комбінацію клавіш «Ctrl+Alt+T».
- Введіть у пошуку «Термінал».
- Як згадувалося раніше, трасування на Linux викликається за допомогою команди «Traceroute». Відповідно, Вам потрібно ввести в командному рядку «traceroute IP-адреса», через пробіл після Traceroute Ви можете вести IP-адресу сервера або доменне ім'я.
Команда виведе Вам таблицю даних, які складатимуться з порядкового номера маршрутизатора або іншими словами вузла, імені вузла, IP-адреси вузла, і кругової затримки.
Трасування на MacOS
Для початку трасування на MacOS:
- У «Spotlight» знайдіть «Network Utility» і запустіть її.
- Тепер знайдіть в утилі «Network Utility» вкладку «Traceroute».
- У вкладці «Traceroute» у полі для введення вкажіть IP-адресу сервера або доменне ім'я, натисніть кнопку «Trace».
Дані в результаті команди Traceroute будуть виведені в такому ж порядку, як і для Linux.
Що означають зірочки (*) у результаті трасування
Іноді програма трасування після закінчення аналізу видає зірочки (*) в одному або декількох рядках. Зірочки найчастіше означають, що один із вузлів не відповідає. Але бувають випадки, коли зірочки в рядку виводяться в результаті того, що на сервері може стояти Firewall, який блокує «зайві» пакети, а пропускає тільки «реальні», це робиться для того, щоб знизити навантаження. Відповідно це не є проблемою і Ваш сайт буде коректно відкриватися.
Давайте розглянемо дві ситуації: якщо під час трасування замість одного з рядків програма видала зірочки, а наступні рядки вивелися коректно, і трасування завершилося успішно, отже, усе гаразд — вузол передав дані далі; якщо під час трасування замість одного рядка вивелися зірочки, а наступні рядки до закінчення трасування також відображаються зірочками, — це означає, що виникла проблема з вузлом.
У випадку з ОС Linux і MacOS, друга ситуація не так однозначно може стверджувати про помилки. Оскільки для цих операційних систем процес трасування йде по портах, використовуючи протокол UDP і порти діапазону [33 434; 33 534], найчастіше, файрволи просто блокують порти в даному діапазоні з метою безпеки. Але перевірити на помилку дуже легко — для цього потрібно зробити трасування з використанням пакета ICMP, просто додавши опцію -I, вказавши її перед IP-адресою або доменним ім'ям сервера. І якщо після виконаних дій зірочки залишилися, то це означає, що на якійсь ділянці шляху сталася помилка.
Також, додатково Ви можете скористатися командою PathPing, яка дає змогу визначити місця з втратою пакетів на кожному з маршрутизаторів.
Техпідтримка ADAMANT
Якщо виникли проблеми, пов’язані із затримкою або підключенням, Ви можете звернутися до наших фахівців для отримання допомоги. Для цього підготуйте таку інформацію:
- Назва сервера, IP-адреса;
- Опис проблеми, що виникла;
- Дата/час, коли виникли проблеми;
- Файл із результатами трасування, бажано провести трасування маршруту від споживача до кінцевого ресурсу і в зворотному порядку, якщо є можливість;
- Додатково можна надати результати пінгу або MTR.
Наші фахівці з радістю нададуть Вам допомогу у рішенні виниклої проблеми.