Какво е Traceroute и за какво го използвате?

Докато използвате интернет, наистина е лесно да забравите, че има много работещи части и сървъри, които помагат за поддържането на World Wide Web жива. Всеки пакет, който изпратите, от съобщение в чат до снимка на котка, трябва да премине през борси и сървъри, за да достигне местоназначението си.

За съжаление нищо не ви напомня по-добре за тази настройка от това, когато вече не можете да се свържете с уебсайт. Причината може да е някъде от ваша страна, от страната на уебсайта или някъде по средата. И най-добрият начин да разберете къде е проблемът е да използвате Traceroute.

Какво е Traceroute?

Traceroute е начин да проследите маршрута, който поемат вашите пакети с данни, докато преминават през интернет. Всяка съвременна операционна система може да проследи маршрут.

Когато стартирате Traceroute, вие му казвате към кой уебсайт или сървър искате да проследите маршрут. Обикновено това е URL адрес на уебсайт, който се опитвате да достигнете, но можете също да му подадете IP адрес, ако желаете.

След като стартирате Traceroute, той изпраща пакети към вашата зададена дестинация. След това регистрира пътуванията на пакета и изпраща информацията обратно на вашия компютър, който след това ви показва къде отиват.

Това е наистина удобно, ако се опитвате да намерите повреда в мрежата. Ако сървър или обмен не работи, Traceroute ще срещне проблема и ще докладва, че нещо не работи правилно. След това можете да използвате тази информация, за да диагностицирате по-добре какво не е наред.

  Как да изтрия акаунт в Clash Royale

Как работи Traceroute?

Traceroute е удобен начин за диагностициране на мрежови грешки. Изобретението на Traceroute обаче е благодарение на умен експлойт, използващ променливата „Time-to-Live“ на пакета.

Какво представлява „времето за живот“ на пакета?

В идеалния случай, когато компютър изпраща пакет от едно място на друго, той стига там без проблем. Той изминава възможно най-бързия маршрут от точка А до точка Б и не се забива или задържа.

За съжаление, мрежите могат да бъдат деликатни неща. Ако инженер направи грешка, докато настройва сървър, възможно е пакетите да бъдат изпратени в безкраен цикъл между сървърите. И ако това се случва твърде често, мрежата може да бъде пълна с пакети, обикалящи завинаги.

Умните умове зад пакета данни измислиха решение за коригиране на това, наречено „време за живот“ или „TTL“. На всеки пакет, преди да бъде изпратен в голямото неизвестно, се дава число, по-голямо от 0 за неговата TTL стойност. Ако тази стойност някога достигне 0, пакетът се счита за „мъртъв“ и се унищожава.

Когато пакетът бъде изпратен по пътя си, той ще направи множество спирания на различни сървъри. Всеки път, когато пристигне на сървър, той изважда едно от своята TTL стойност. Обикновено тази стойност на TTL е зададена на число, при което пакетът има повече от достатъчно време, за да достигне местоназначението си, преди да достигне 0. Въпреки това, ако пакетът влезе в цикъл, TTL в крайна сметка ще намалее, докато пакетът изтече.

Когато пакетът изтече, сървърът, с който завършва, изпраща така нареченото съобщение „ICMP Time Exceeded“ обратно у дома. Това по същество е известие, че пакетът е претърпял преждевременна смърт и казва на потребителя къде е изтекъл пакетът, за да му помогне при отстраняване на неизправности.

Как времето за живот на пакета позволи на Traceroute да работи

Това ICMP Time Exceeded съобщение е ключът към работата на Traceroute. За начало Traceroute изпраща пакет с TTL, настроен на 1. Това означава, че той напуска вашия компютър, пристига на първия сървър, изважда едно от своя TTL, забелязва, че има TTL 0 и изтича.

  Как да направите клавиша за изваждане на клавиатурата на Mac отново полезен

След това сървърът, който обработва пакета по това време, изпраща ICMP съобщение за превишено време обратно на вашия компютър, заедно с неговото местоположение. След това вашият компютър регистрира местоположението на сървъра като първа стъпка към вашата цел.

След това изпраща пакет с TTL, зададен на 2, 3 и така нататък, докато пакетът пристигне на вашата дестинация. Всеки пакет ще изтече на следващата стъпка от преминаването и всеки сървър по пътя ще докладва за изтеклия пакет, давайки на вашия компютър информацията, от която се нуждае, за да разбере къде отиват вашите пакети.

За какво се използва Traceroute?

На основно ниво Traceroute ви позволява да надникнете как пакетите се движат в мрежата. Независимо дали сте мрежов инженер, който проверява отново, за да види дали всичко върви както трябва, или просто се интересувате как пътуват вашите пакети, когато посещавате Google, Traceroute е правилният начин.

Въпреки това е полезно и за откриване на грешки в системата. Ако Traceroute се опита да се свърже с неотговарящ сървър, ще забележи, че пакетът, който е изпратил, не е задействал отговор известно време. След като изтече достатъчно време, Traceroute декларира, че „Заявката е изтекла“, което означава, че отговорът не е пристигнал в определеното време.

Разбира се, заявката за изчакване не винаги означава, че сървърът не работи; понякога сървърът не харесва Traceroute заявките и ги блокира, когато пристигнат. Но ако сте относително сигурни, че нито един сървър във веригата не трябва да блокира Traceroute, това е добър начин да диагностицирате уебсайт или сървър, който не успява да отговори, когато се опитате да се свържете с него.

  Какво представляват NFT със сини чипове и как да инвестирате в тях

Каква е разликата между Traceroute и Ping?

Технически опитни читатели ще забележат, че Traceroute звучи много подобно на друг удобен мрежов инструмент, Ping. Въпреки това, докато двете функции се припокриват малко, хората ги използват по различни причини.

Както споменахме по-горе, Traceroute ви помага да разберете къде отива даден пакет, след като напусне вашия компютър. Междувременно Ping ви казва дали вашият компютър може да достигне до конкретен сървър и колко време е необходимо, за да стигне до там.

Като такъв, ако искате да видите всяка част от мрежовата верига, Traceroute е там, където е. Междувременно, ако просто искате да видите дали даден сървър отговаря, можете да го Ping. Разбира се, можете да направите това и с Traceroute, но ще трябва да изчакате известно време, докато най-накрая стигне до вашия сървър, преди да получите отговора, който търсите.

Как да изпълним Traceroute

Както казахме по-рано, всички основни операционни системи могат да изпълняват Traceroute. Това е толкова лесно, колкото да отворите команден терминал и да въведете командата Traceroute.

За macOS просто трябва да отворите терминала и да въведете „traceroute“, последвано от URL или IP адреса на дестинацията. Същото е в Linux, но може да се наложи първо да инсталирате Traceroute, преди да можете да го стартирате.

Изпълнение на командата traceroute на Linux.

В операционните системи Windows работи по същия начин, с изключение на това, че функцията се нарича „tracert“. Разгледахме tracert и други команди в нашето ръководство за команди за управление на безжични мрежи в Windows, така че не забравяйте да го прочетете, ако искате да научите за инструментите, с които разполагате.

Кредит за изображение: Michel Bakni/Wikimedia Commons

Проследяване на вашите пакети с Traceroute

Ако искате да видите къде отиват вашите пакети, след като напуснат вашия компютър, Traceroute е правилният начин. Независимо дали искате да диагностицирате мрежов проблем или просто сте любопитни да видите къде се отправят вашите пакети, лесно е да настроите такъв и да гледате как данните отиват.