logo

Команда Linux traceroute

Знайомство з traceroute

Команда Linux traceroute — це утиліта для усунення неполадок у мережі, яка допомагає нам визначити кількість стрибків і шлях пакетів, необхідних для досягнення пункту призначення. Він використовується для відображення того, як дані передаються з локальної машини на віддалену машину. Завантаження веб-сторінки є одним із поширених прикладів traceroute. Завантаження веб-сторінки передає дані через мережу та маршрутизатори. Traceroute може відображати маршрути, IP-адреси та імена хостів маршрутизаторів у мережі. Це може бути корисно для діагностики проблем з мережею.

В обчислювальній техніці tracert і traceroute — це команди для діагностики комп’ютерної мережі для відображення можливих маршрутів і вимірювання затримок передавання пакетів через мережу IP. Історія маршруту записується як час проходження пакета з усіх послідовних хостів у маршруті; середня сума часу в кожному стрибку - це загальна міра часу, витраченого на створення з'єднання.

перетворити рядок на int у java

Команда traceroute продовжується, якщо кожен надісланий пакет не буде втрачено більше двох разів; з’єднання втрачено, і шлях неможливо оцінити. З іншого боку, команда ping вимірює лише час останнього проходження через точку призначення. Іноді інструмент має подібну назву, tracert6 і traceroute6, для IPv6.

Синтаксис:

 traceroute [OPTION...] HOST 

Опції:

Наступні параметри командного рядка підтримуються командою traceroute:

-f, --first-hop=NUM: Використовується для встановлення початкової відстані стрибка.

-g, --gateways=ВОРОТА: Він використовується для відображення списку шлюзів для вільної маршрутизації джерела.

-I, --icmp: Вказано використовувати ICMP ECHO як зонд.

-m, --max-hop=NUM: Використовується для встановлення максимальної кількості стрибків, за замовчуванням 64.

-M, --type=МЕТОД: Він визначає МЕТОД (icmp або udp) для операцій traceroute, метод за замовчуванням – udp.

-p, --port=ПОРТ: Визначено використання порту призначення PORT, за замовчуванням PORT 33434.

-q, --tries=NUM: Він використовується для пересилання NUM пробних пакетів за стрибок, за замовчуванням 3.

--resolve-hostnames: Він використовується для вирішення імен хостів.

-t, --tos=NUM: Він використовується для встановлення типу служби (TOS) на NUM.

-w, --wait=NUM: Використовується для очікування відповіді протягом секунд, за замовчуванням 3.

-?, --довідка: Він використовується для відображення довідкового посібника, який містить короткий опис підтримуваних параметрів командного рядка та використання.

--використання: Він відображає коротке повідомлення про використання.

-V, --версія: Він використовується для відображення інформації про версію traceroute.

Давайте поглянемо на короткий покажчик теми:

  • Встановіть команду traceroute
  • Як це працює?
  • Простежте маршрут за допомогою Ipv6
  • Простежте маршрут за допомогою Ipv4
  • Вимкніть зіставлення IP-адреси та імені хоста
  • Встановіть кількість запитів на стрибок
  • Встановіть час очікування відповіді
  • Укажіть інтерфейс для використання
  • Встановіть початкове значення TTL
  • Встановіть максимальну кількість стрибків
  • Отримання допомоги

Реалізації traceroute

Команда traceroute доступна в кількох сучасних ОС. В Unix-подібних системах, таких як Linux, macOS і FreeBSD, він доступний як інструмент для командного рядка. Крім того, traceroute доступний у графічному вигляді в пакеті мережевих утиліт у macOS; Ці утиліти вийшли з ладу після публікації macOS Big Sur.

ReactOS і Microsoft Windows пропонують програму під назвою tracert, яка реалізує подібну функцію трасування маршруту. Крім того, ОС на базі Windows NT пропонують PathPing, який може поєднувати функції команди ping із tracert. Редакція ReactOS була інтегрована компанією Get Murphy і ліцензована під GPL.

За замовчуванням traceroute надсилає порядок пакетів UDP (User Datagram Protocol) на Unix-подібних ОС із номерами портів призначення в діапазоні від 33434 до 33534. Реалізації traceroute, що постачаються з macOS, DragonFly BSD, OpenBSD, NetBSD, FreeBSD і Linux, мають можливість використання пакетів ICMP Echo Request, таких як TCP і UDP, за допомогою пакетів ICMP або TCP SYN. За замовчуванням tracert передає пакети ICMP Echo Request у Windows замість передачі пакетів UDP traceroute.

Використання traceroute

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

Витоки traceroute

На сторінці підручника traceroute зазначено, що справжня програма traceroute була визначена Ван Джейкобсоном у 1987 році за рекомендацією Стіва Дірінга, з особливо переконливими виправленнями та рекомендаціями від C. Philip Wood, Ken Adelman і Tim Seaver. Майк Мусс, автор програми ping, стверджує, що traceroute було визначено з підтримкою ядра ICMP, яке він закодував раніше для активації необроблених сокетів ICMP, коли він спочатку вказав програму ping.

Обмеження traceroute

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

Traceroute може представляти шлях, який не існує в існуванні балансування навантаження трафіку. Щоб мінімізувати цю проблему, доступна модифікація traceroute, відома як Paris-traceroute, яка керує ідентифікатором потоку перевірки, щоб ігнорувати балансування навантаження.

Встановіть команду traceroute

Traceroute не є утилітою за замовчуванням Linux система. Щоб використовувати traceroute, нам потрібно встановити його вручну. Щоб встановити його, виконайте одну з наступних команд:

 sudo apt install inetutils-traceroute sudo apt install traceroute 

Наведені вище команди встановлять утиліту traceroute у нашій системі. Після успішного встановлення результат буде виглядати наступним чином:

Linux traceroute

Як це працює?

Щоб відстежити маршрут підключеного мережевого хоста, передайте ім’я сервера або IP-адресу, до якої потрібно підключитися. Наприклад, щоб відстежити маршрут сервера 'javatpoint.com', виконайте наведену нижче команду:

 traceroute javatpoint.com 

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

Linux traceroute

З наведеного вище результату ми можемо побачити кілька речей. давайте розберемо кожну частину виводу:

  • У першому рядку відображається ім’я хоста та IP-адреса, які потрібно досягти, переходи, які спробує виконати команда traceroute, і розмір пакетів, які потрібно надіслати.
  • З другого рядка кожен рядок відображає стрибок до місця призначення. І ім’я хоста, за яким слідує IP-адреса хоста, час зворотного зв’язку. Час проходження туди й назад – це сума часу, необхідного для надсилання сигналу, та часу, необхідного для відповіді хосту.
  • За замовчуванням він надсилає три пакети для кожного хоста, тому вказано три часи відповіді.
  • Символ «*» означає втрату пакета. Втрата пакетів відбувається через збій мережі, високий трафік до мережі або, можливо, брандмауер пропускає трафік. У разі великої втрати пакета traceroute відобразить повідомлення про помилку «пункт призначення не досягнуто».

Простежте маршрут за допомогою IPv6

Параметр «6» використовується для відстеження маршруту до хост-мережі за допомогою протоколу Ipv6. Розглянемо наведену нижче команду:

 traceroute6 google.com 

Наведена вище команда простежить маршрут до 'google.com' за допомогою протоколу Ipv6. Розглянемо наведений нижче результат:

Linux traceroute

Простежте маршрут за допомогою Ipv4

Параметр «4» використовується для відстеження маршруту до хост-мережі за допомогою протоколу Ipv6. Розглянемо наведену нижче команду:

вставити в клавіатуру
 traceroute 4 google.com 

Наведена вище команда простежить маршрут до 'google.com' за допомогою протоколу Ipv6. Розглянемо наведений нижче результат:

Linux traceroute

Вимкніть зіставлення IP-адрес і імен хостів

Параметр «n» використовується для вимкнення зіставлення IP-адреси та імені хоста. Розглянемо наведену нижче команду:

 traceroute n google.com 

Наведена вище команда виведе наступний результат:

Linux traceroute

Встановіть кількість запитів на стрибок

Параметр '-q' використовується для встановлення кількості запитів на стрибок. Розглянемо наведену нижче команду:

 traceroute -q 2 google.com 

Наведена вище команда виведе наступний результат:

Linux traceroute

Встановіть час очікування відповіді

Параметр '-w' використовується для встановлення часу очікування відповіді в traceroute. Він вкаже час очікування в секундах для відповіді на зонд. Розглянемо наведену нижче команду:

 traceroute -w 1 google.com 

З наведеної вище команди час очікування відповіді становить 1 секунду. Це виведе наступним чином:

Linux traceroute

Укажіть інтерфейс для використання

Параметр «i» використовується для встановлення мережевого інтерфейсу, який має використовувати traceroute. Якщо його не встановлено, інтерфейс буде встановлено відповідно до таблиці маршрутизації. Розглянемо наведену нижче команду:

 traceroute i wlp3s0b1 google.com 

Наведена вище команда виведе наступний результат:

Linux traceroute

Встановіть початкове значення TTL

Ми можемо встановити початкове значення TTL (час життя), відмінне від значення за замовчуванням. Він пропустить кілька хмелів. Зазвичай він встановлюється на один, два, три і так далі для відповідного набору тестів. Отже, якщо ми встановимо його на сім, перший тест спробує зробити стрибок сім і пропустити стрибки від одного до шести. Розглянемо наведену нижче команду:

 traceroute -f 7 google.com 

Наведена вище команда перейде прямо до стрибка сім. Розглянемо наведений нижче результат:

Linux traceroute

Встановіть максимальну кількість стрибків

Параметр '-m' використовується для встановлення максимальної кількості стрибків, за якою пакет досягає пункту призначення. Значення за замовчуванням для максимальної кількості переходів становить 30. Розглянемо наведену нижче команду:

 traceroute -m 7 google.com 

Наведена вище команда встановить 7 максимальних стрибків для того, щоб пакет досягнув пункту призначення. Розглянемо наведений нижче результат:

Linux traceroute

Отримання допомоги

Щоб відобразити довідковий посібник, який містить підсумок використання та підтримувані параметри, виконайте наведену нижче команду:

 traceroute --help 

Наведена вище команда відобразить довідку. Вихід буде таким:

Linux traceroute

Ми також можемо отримати доступ до сторінок посібника, виконавши команду man наступним чином:

 man traceroute 

Наведена вище команда відобразить сторінку посібника команди traceroute. Це буде виглядати наступним чином:

Linux traceroute

Прокрутіть сторінку, щоб прочитати більше, і натисніть клавішу «q», щоб вийти зі сторінки посібника.