Знайомство з 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 у нашій системі. Після успішного встановлення результат буде виглядати наступним чином:
Як це працює?
Щоб відстежити маршрут підключеного мережевого хоста, передайте ім’я сервера або IP-адресу, до якої потрібно підключитися. Наприклад, щоб відстежити маршрут сервера 'javatpoint.com', виконайте наведену нижче команду:
traceroute javatpoint.com
Наведена вище команда відображатиме стрибки, пакети та багато іншої інформації про вказаний маршрут. Розглянемо наведений нижче результат:
З наведеного вище результату ми можемо побачити кілька речей. давайте розберемо кожну частину виводу:
- У першому рядку відображається ім’я хоста та IP-адреса, які потрібно досягти, переходи, які спробує виконати команда traceroute, і розмір пакетів, які потрібно надіслати.
- З другого рядка кожен рядок відображає стрибок до місця призначення. І ім’я хоста, за яким слідує IP-адреса хоста, час зворотного зв’язку. Час проходження туди й назад – це сума часу, необхідного для надсилання сигналу, та часу, необхідного для відповіді хосту.
- За замовчуванням він надсилає три пакети для кожного хоста, тому вказано три часи відповіді.
- Символ «*» означає втрату пакета. Втрата пакетів відбувається через збій мережі, високий трафік до мережі або, можливо, брандмауер пропускає трафік. У разі великої втрати пакета traceroute відобразить повідомлення про помилку «пункт призначення не досягнуто».
Простежте маршрут за допомогою IPv6
Параметр «6» використовується для відстеження маршруту до хост-мережі за допомогою протоколу Ipv6. Розглянемо наведену нижче команду:
traceroute6 google.com
Наведена вище команда простежить маршрут до 'google.com' за допомогою протоколу Ipv6. Розглянемо наведений нижче результат:
Простежте маршрут за допомогою Ipv4
Параметр «4» використовується для відстеження маршруту до хост-мережі за допомогою протоколу Ipv6. Розглянемо наведену нижче команду:
вставити в клавіатуру
traceroute 4 google.com
Наведена вище команда простежить маршрут до 'google.com' за допомогою протоколу Ipv6. Розглянемо наведений нижче результат:
Вимкніть зіставлення IP-адрес і імен хостів
Параметр «n» використовується для вимкнення зіставлення IP-адреси та імені хоста. Розглянемо наведену нижче команду:
traceroute n google.com
Наведена вище команда виведе наступний результат:
Встановіть кількість запитів на стрибок
Параметр '-q' використовується для встановлення кількості запитів на стрибок. Розглянемо наведену нижче команду:
traceroute -q 2 google.com
Наведена вище команда виведе наступний результат:
Встановіть час очікування відповіді
Параметр '-w' використовується для встановлення часу очікування відповіді в traceroute. Він вкаже час очікування в секундах для відповіді на зонд. Розглянемо наведену нижче команду:
traceroute -w 1 google.com
З наведеної вище команди час очікування відповіді становить 1 секунду. Це виведе наступним чином:
Укажіть інтерфейс для використання
Параметр «i» використовується для встановлення мережевого інтерфейсу, який має використовувати traceroute. Якщо його не встановлено, інтерфейс буде встановлено відповідно до таблиці маршрутизації. Розглянемо наведену нижче команду:
traceroute i wlp3s0b1 google.com
Наведена вище команда виведе наступний результат:
Встановіть початкове значення TTL
Ми можемо встановити початкове значення TTL (час життя), відмінне від значення за замовчуванням. Він пропустить кілька хмелів. Зазвичай він встановлюється на один, два, три і так далі для відповідного набору тестів. Отже, якщо ми встановимо його на сім, перший тест спробує зробити стрибок сім і пропустити стрибки від одного до шести. Розглянемо наведену нижче команду:
traceroute -f 7 google.com
Наведена вище команда перейде прямо до стрибка сім. Розглянемо наведений нижче результат:
Встановіть максимальну кількість стрибків
Параметр '-m' використовується для встановлення максимальної кількості стрибків, за якою пакет досягає пункту призначення. Значення за замовчуванням для максимальної кількості переходів становить 30. Розглянемо наведену нижче команду:
traceroute -m 7 google.com
Наведена вище команда встановить 7 максимальних стрибків для того, щоб пакет досягнув пункту призначення. Розглянемо наведений нижче результат:
Отримання допомоги
Щоб відобразити довідковий посібник, який містить підсумок використання та підтримувані параметри, виконайте наведену нижче команду:
traceroute --help
Наведена вище команда відобразить довідку. Вихід буде таким:
Ми також можемо отримати доступ до сторінок посібника, виконавши команду man наступним чином:
man traceroute
Наведена вище команда відобразить сторінку посібника команди traceroute. Це буде виглядати наступним чином:
Прокрутіть сторінку, щоб прочитати більше, і натисніть клавішу «q», щоб вийти зі сторінки посібника.