Команда traceroute linux

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

Утиліта ping дозволяє тільки визначити наявність проблеми, що вузол не відповідає, але як дізнатися де обривається з`єднання? Для цього застосовується утиліта traceroure. У цій невеликій інструкції ми розглянемо як користуватися traceroute linux, як розуміти її висновок і визначити де ж все-таки проблема. Але спочатку розглянемо, як працює traceroute.

Як працює traceroute?

Ви, напевно, вже знаєте, що вся інформація в мережі передається у вигляді пакетів. Потік даних розбивається спеціальним програмним забезпеченням на невеликі пакети і передається через мережу інтернет на цільової вузол, а там збирається назад.

Кожен пакет проходить на своєму шляху певну кількість вузлів, поки досягне своєї мети. Причому, кожен пакет має свій час життя. Це кількість вузлів, які може пройти пакет перед тим, як він буде знищений. Цей параметр записується в заголовку TTL, кожен маршрутизатор, через який буде проходити пакет зменшує його на одиницю. При TTL = 0 пакет знищується, а відправнику надсилається повідомлення Time Exceeded.

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

утиліта Traceroute




Перед тим як перейти до прикладів роботи з утилітою давайте розглянемо її синтаксис і основні опції. Синтаксис виклику дуже простий:

$ traceroute опції адрес_узла

В якості адреси може використовуватися ip адресу або доменне ім`я. Розглянемо основні опції:

  • -4 або -6 - використовувати ipv4 або ipv6 протокол;
  • -I - використовувати ICMP пакети замість UDP;
  • -T - використовувати TCP пакети замість UDP;
  • -F - НЕ фрагментировать пакети;
  • -f - вказати TTL з якого потрібно почати;
  • -g - передавати пакет через вказаний шлюз;
  • -i - передавати пакет через вказаний інтерфейс;
  • -m - максимальну кількість вузлів, через які пройде пакет;
  • -q - кількість пакетів, що відправляються за раз, за ​​замовчуванням три;
  • -n - не дізнаватися доменні імена;
  • -p - вказати порт замість порту за замовчуванням;
  • -w - встановити час очікування відповіді від вузла, за замовчуванням півсекунди;
  • -r - використовувати інший роутер замість того, що вказаний в таблиці маршрутизації;
  • -z - мінімальний інтервал між пакетами;
  • -U - використовувати UDP зі збільшенням номера порту;
  • -UL - використовувати протокол UDPLITE;
  • -D - використовувати протокол DCCP;
  • --mtu - вказати розмір пакета;
  • -P - протокол, доступні такі значення: raw, dccp, udplite, udp, tcpconn, tcp, icmp.



Це не всі опції утиліти, але всі основні, якими ви будете користуватися. Далі перейдемо практиці того, як виконується трасування мережі Linux.

Приклади трасування мережі в Linux

Наприклад, виконаємо трасування до сервера inuasparwil.ru:

$ Sudo traceroute 8.8.8.8

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

$ Sudo traceroute history.pl

$ Sudo traceroute inuasparwil.ru
$ Sudo traceroute history.pl
$ Sudo traceroute habrahabr.ru

Потім порівняйте висновки цих команд. Ви побачите, що початкові IP адреси однакові. Ми можемо зробити висновок, що наш роутер 192.168.1.1 підключений до локальної мережі провайдера 195.5.8.0/24, яка, в свою чергу, підключена до мережі 10.50.50.0/24 звідки вже отримує доступ до зовнішньої мережі.

висновки

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

Поділися в соціальних мережах:

Схожі
PingtoolsPingtools
Як дізнатися чи встановлений пакет linuxЯк дізнатися чи встановлений пакет linux
Arp сканування локальної мережі linuxArp сканування локальної мережі linux
До якого пакунку належить файл в linuxДо якого пакунку належить файл в linux
Утиліта ip linuxУтиліта ip linux
Ping або як перевірити інтернет з`єднання?Ping або як перевірити інтернет з`єднання?
Основи мереж і протоколів інтернетОснови мереж і протоколів інтернет
Як користуватися nmap для сканування мережіЯк користуватися nmap для сканування мережі
Команда tftp - обмін файлами по протоколу tftpКоманда tftp - обмін файлами по протоколу tftp
Команда ping - відправити луна-запит по протоколу icmp на ім`я або ip-адреса цільового вузлаКоманда ping - відправити луна-запит по протоколу icmp на ім`я або ip-адреса цільового вузла
» » Команда traceroute linux