Traceroute, або ж tracert для користувачів Windows, поряд з ping, є одним із найпростіших та найефективніших інструментів для діагностики мережевих проблем. Як випливає з назви, traceroute відстежує шлях від одного комп’ютера до іншого. Це корисний інструмент не тільки для перевірки з’єднання з хостом, а й для отримання інформації про маршрут та можливі проблеми на цьому шляху. Проте, попри свою корисність, traceroute має певні обмеження. На щастя, багато розробників працюють над створенням вдосконалених альтернатив. Саме про це ми поговоримо у цій статті, розглядаючи найкращі альтернативи traceroute. Ми розглянемо як інструменти з графічним інтерфейсом, так і командного рядка, а також деякі онлайн-інструменти.
Перш ніж перейти до огляду 5 найкращих альтернатив traceroute, ми пояснимо, що таке traceroute і як він працює. Потім ми обговоримо його обмеження та розглянемо можливі шляхи покращення. Ми спробуємо визначити ідеальний “traceroute на стероїдах”. Після теоретичної частини, ми перейдемо безпосередньо до нашої основної теми – п’яти найкращих альтернатив traceroute. Серед них три програми для локального встановлення та два онлайн-сервіси.
Що таке Traceroute?
Згідно з визначенням Вікіпедії, traceroute – це інструмент для діагностики комп’ютерної мережі, який відображає маршрут (шлях) та вимірює затримки передачі пакетів через мережу Інтернет-протоколу (IP). Проте, це визначення не дає повного уявлення про те, що це таке насправді. Traceroute показує IP-адреси кожного маршрутизатора на шляху від вашого комп’ютера до віддаленого комп’ютера. Крім того, він повідомляє час відгуку кожного з цих маршрутизаторів.
Traceroute є досить старим інструментом, перша версія якого була випущена у 1987 році. Це більше 30 років тому, що є вічністю в комп’ютерній сфері. Це також дуже розповсюджений інструмент. Спочатку представлений в операційній системі Unix, він зараз присутній у кожній Unix-подібній ОС, включаючи Linux та OS X. Згодом його було перенесено і на Windows, де його перейменували на tracert з причин, які не всі розуміють.
Traceroute є необхідним інструментом для кожного адміністратора мережі. Проте, багато користувачів не до кінця розуміють його роботу, що може призвести до проблем. Наприклад, шлях передачі даних може бути асиметричним, тобто трафік може рухатися різними маршрутами в прямому та зворотному напрямках, чого інструмент не відобразить.
Як працює Traceroute?
По-перше, декілька важливих передумов. Інтернет (або будь-яка IP-мережа) складається з взаємопов’язаних маршрутизаторів. Маршрутизатори обмінюються інформацією про доступні мережі та створюють таблиці маршрутизації. Коли пакет даних досягає маршрутизатора, він шукає пункт призначення у своїй таблиці та відправляє пакет наступному маршрутизатору на шляху. Маршрутизатор знає лише про наступний пункт призначення та не має уявлення про повний шлях, і це не є необхідним.
Для обмеження затримок через зайву маршрутизацію, заголовок кожного пакету містить поле даних під назвою TTL (Time To Live). Насправді значення TTL не має нічого спільного з часом, а скоріше з відстанню. Коли пакет покидає джерело, TTL встановлюється на 32. Кожен маршрутизатор зменшує значення TTL на одиницю перед відправленням пакету. Коли значення TTL досягає нуля, маршрутизатор не маршрутизує пакет, а повертає повідомлення ICMP “Час перевищено” назад до джерела.
Traceroute використовує цю систему звітування про помилки. Він спочатку надсилає пакет до місця призначення з TTL, встановленим на 1. Найперший маршрутизатор зменшує TTL та повертає повідомлення Time Exceeded. Таким чином traceroute дізнається про IP-адресу цього першого маршрутизатора або стрибка. Потім traceroute надсилає інший пакет з TTL, встановленим на 2, і дізнається про другий стрибок. Процес повторюється, збільшуючи TTL, доки не буде отримано відповідь від місця призначення, що свідчить про досягнення мети.
Traceroute також зазвичай вимірює час, необхідний для отримання кожної відповіді, що дозволяє створити таблицю часу відгуку для кожного стрибка. Він також часто виконує пошук DNS IP-адрес кожного стрибка, щоб відобразити в результатах FQDN кожного хоста замість IP-адреси.
Що не так з Traceroute?
Коротка відповідь – нічого поганого. Проте це не означає, що він ідеальний. Traceroute, хоч і корисний, можна вдосконалити. Ось деякі його недоліки.
Як зазначалося раніше, traceroute показує лише шлях до місця призначення, але не може визначити зворотний шлях. Це може викликати проблеми, особливо якщо зворотний шлях має затримки. Traceroute вимірює час отримання кожної відповіді, але не може визначити, чи були затримки на прямому чи зворотному шляху, що потенційно може призвести до неточних результатів.
Існує також проблема з адресатами, навантаження яких розподілено між кількома хостами. Немає гарантії, що кожен наступний пакет буде надіслано на той самий хост. Якщо хости розташовані в різних місцях, це може призвести до неточних результатів.
Деякі маршрутизатори налаштовані з міркувань безпеки не відповідати на запити traceroute. Це не зупинить роботу traceroute, але утиліта просто ігноруватиме такі стрибки і повідомлятиме про них як про недоступні.
Що якщо існував би Traceroute “на стероїдах”?
Використання traceroute – не найзахопливіше завдання. Кожен, хто активно ним користувався, хотів би мати кращий інструмент. На щастя, деякі розробники також про це думали та працювали над створенням альтернатив. Саме тому існує багато альтернатив traceroute.
Деякі з них мають лише косметичні вдосконалення, наприклад, надають інструменту привабливіший графічний інтерфейс. Інші додають справді корисні функції. Деякі розширені утиліти traceroute, наприклад, отримують додаткову інформацію про кожен стрибок з інтернету. Це може включати дані про власника маршрутизатора, його фізичне розташування, зібрані за допомогою методів геолокації на основі IP-адреси.
Деякі йдуть ще далі та наносять результати трасування на карту, що дозволяє користувачеві візуалізувати шлях до пункту призначення.
Наші три найкращі плюс дві найкращі альтернативи Traceroute
Ми дослідили інтернет у пошуках найкращих альтернатив traceroute. Деякі з них значно відрізняються від оригінального traceroute, інші пропонують невеликі покращення. До нашого списку потрапили інструменти з найкращим набором функцій, репутацією та ті, що використовуються найчастіше.
Ми включили як локально встановлювані інструменти, так і веб-сервіси. Обидва типи інструментів можуть бути корисними. Локальне програмне забезпечення допомагає виявляти проблеми у великих корпоративних мережах, такі як затримки. Веб-інструменти traceroute працюють з віддаленого сервера і краще підходять для вирішення проблем, таких як повільна робота веб-сайту.
1. Traceroute NG від SolarWinds (БЕЗКОШТОВНЕ ЗАВАНТАЖЕННЯ)
SolarWinds – відома компанія у сфері інструментів управління мережами. Компанія створює одні з найкращих інструментів моніторингу. SolarWinds також має репутацію розробника чудових безкоштовних інструментів, що відповідають конкретним потребам мережевих адміністраторів. Traceroute NG є одним із таких інструментів.
TracerouteNG використовує технологію SolarWinds Netpath для безперервного відстеження TCP та ICMP. Він позиціонується як швидший за інші утиліти traceroute та повертає результати за лічені секунди. Звісно, швидкість залежить від конкретної мережі.
Traceroute NG не тільки покращує швидкість трасування, але й надає більше інформації, забезпечуючи глибше розуміння ситуації. Для кожного переходу Traceroute NG використовує ping для визначення відсотка втрат пакетів, поточного і середнього часу відгуку, а також гістограму затримки. Важливо, що Traceroute NG використовує зворотний пошук DNS для відображення повного доменного імені (FQDN) кожного стрибка.
Ще однією перевагою Traceroute NG є автоматичне виявлення змін шляху. Якщо існує кілька шляхів до певного хоста, інструмент це виявить та відобразить кожен шлях окремо. Це корисно при усуненні несправностей в середовищах зі збалансованим навантаженням. Інструмент дозволяє вибрати тестування за допомогою пакетів TCP або ICMP. Це може бути корисно, якщо якийсь пристрій блокує ICMP. Traceroute NG записує результати тесту в файл журналу .txt.
Traceroute NG працює лише в Windows, але насправді це не повноцінна програма Windows. Хоча вона запускається у вікні Windows, це переважно текстовий інструмент. З іншого боку, чи потрібен GUI для такого інструменту? Ймовірно, ні.
Інструмент поставляється у вигляді .zip-файлу і не потребує встановлення, але залежить від Winpcap, який потрібно встановити, якщо його немає на вашому комп’ютері. Traceroute NG виявляє відсутність Winpcap і автоматично запускає інсталятор, який міститься у файлі .zip.
TRACEROUTE NG (офіційне посилання для завантаження): https://www.solarwinds.com/free-tools/traceroute-ng
2. Open Visual Traceroute
Якщо вам потрібен справжній інструмент трасування з графічним інтерфейсом, то Open Visual Traceroute саме те, що потрібно. Інструмент, доступний для Windows, більшості дистрибутивів Linux і Mac OS X, є дійсно дивовижним. Він є безкоштовним і розповсюджується за ліцензією LGPL V3.
Основною функцією цього програмного забезпечення є Visual Traceroute. Це візуальний інструмент, який показує на 3D-карті світу (або 2D, якщо бажаєте) шлях, яким дані рухаються від вашого комп’ютера до цільового хоста. Масштаб карти можна змінювати на свій розсуд.
Open Visual Traceroute також має інші корисні інструменти. Наприклад, “сніфер пакетів”, який дозволяє побачити, які дані передаються з вашої локальної системи в Інтернет. Також є функція Whois, яка отримує інформацію про доменні імена з інтернету.
3. MTR (My Traceroute)
MTR спочатку був розроблений розробником на ім’я Майк, і абревіатура означала Mike’s Traceroute. Пізніше його перейменували на My Traceroute, але це все той же продукт. Програмне забезпечення існує з 1997 року. Якщо довговічність є ознакою якості, це має бути дуже гарний інструмент.
І він дійсно хороший. Функціонально він майже ідентичний Traceroute NG. Основна відмінність полягає в тому, що Traceroute NG є програмою для Windows, тоді як MTR працює в Linux і може використовуватися як через графічний інтерфейс, так і через командний рядок.
MTR поєднує функціональність traceroute і ping в одному інструменті діагностики мережі. При запуску MTR спочатку працює як traceroute, щоб дізнатися мережевий шлях до вказаного хоста. Потім MTR надсилає послідовність запитів ICMP ECHO до кожного стрибка, щоб виміряти якість з’єднання з кожним маршрутизатором. Отримана статистика відображається на екрані. Фактично, вона виводиться на стандартний вихід, тобто її можна перенаправити у файл.
4. Monitis Online Visual Trace Route Tool (онлайн-інструмент)
Monitis є компанією TeamViewer, яка розробляє платформу моніторингу продуктивності веб-сайтів. Хмарний сервіс дозволяє контролювати веб-сайти, сервери, програми тощо з будь-якого місця. З понад чвертю мільйона користувачів це доволі популярна платформа.
Як і багато інших компаній, Monitis пропонує декілька безкоштовних інструментів на своєму веб-сайті. Інструмент візуального трасування виконує саме те, що вказано у назві. Він простежує маршрут між сервером Monitis та вказаним хостом і наносить його на карту світу. На жаль, карта рідко відображає всі стрибки, оскільки інструмент не завжди може визначити географічне розташування кожного переходу, а деякі хости не відповідають. Це стосується всіх подібних інструментів, а не лише цього.
Якщо прокрутити сторінку вниз, ви побачите таблицю, де інформація представлена у текстовому вигляді, як у традиційних інструментах трасування. У верхній частині таблиці є три вкладки: “Сполучені Штати”, “Європа” і “Азія/Тихоокеанський регіон”. Можна припустити, що натискання на вкладку запускає тест з іншого джерела, розташованого у відповідній географічній області, проте результати свідчать про інше. Зміна вкладки змінює як карту, так і таблицю, але принцип їх роботи залишається незрозумілим.
5. G-Suite.Tools Visual Traceroute (онлайн-інструмент)
Нехай вас не вводить в оману назва, G-Suite.Tools ніяк не пов’язаний з Google. Веб-сайт пропонує декілька корисних мережевих інструментів. Серед них є інструмент візуального трасування. Користуватися ним досить просто. Потрібно лише ввести IP-адресу або FQDN та натиснути кнопку TRACE. Незабаром на карті з’явиться шлях до вказаного хоста.
Як і в більшості інших подібних інструментів, доступна таблиця, що відображає IP-адресу та FQDN (якщо їх можна розв’язати), а також загальний час для кожного стрибка. Особливістю цього інструменту, яка робить його зручним для новачків, є велика кількість інформації про процес трасування, доступна на сторінці.
На веб-сайті G-Suite.Tools є також інші інструменти, такі як пошук DNS, Whois, ping, інструмент для визначення IP-адреси, розташування IP-адреси, а також інструмент для перевірки електронної пошти.
Висновок
Traceroute є одним із найбільш вживаних і корисних діагностичних інструментів. Завдяки численним вдосконаленим версіям, він став ще кращим і кориснішим. Існує більше 5 таких інструментів, але ми обмежили наш вибір п’ятьма найкращими, які вдалося знайти.