Знаете ли командата traceroute или "tracert" в Windows? Това е инструмент, който ви позволява да видите пътя, който свързва вашата връзка, когато се отправите към определена дестинация. Макар че е много интересно да видите къде отиват пакетите ви, когато се свързвате с уебсайт, основната му употреба е да видите къде се губят по пътя пакети.

Какво е Traceroute?

Преди да се впуснем в начина, по който може да се използва traceroute, нека да поговорим за това какво означава traceroute. Когато проследявате маршрут, наблюдавате пътя, който пакетът взема, и виждате къде свършва. Ако някога сте поръчали колекция с проследяване, вероятно сте гледали (с вълнение!) Пътя, който пакетът е взел до вашата врата. Traceroute е подобен процес, с изключение на това, че не можем да поставим проследяващо устройство върху пакет от данни. Трябва да получим малко по-изобретателно да проследяваме пакетите с данни.

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

За целта използваме собственост на пакети, наречени TTL. TTL означава "Време за живот" и тя определя колко маршрутизатора може да получи пакетът, преди да изтече. Когато маршрутизаторът обработва пакет, той намалява TTL с един, преди да го предаде. Ако TTL достигне 0, пакетът изтича и маршрутизаторът съобщава за изтичането му. По време на traceroute се изпраща пакет с TTL от 1. Това се управлява от първия рутер и веднага изтича. Рутерът изпраща грешката си и traceroute регистрира местоположението си. След това Traceroute изпраща пакет TTL 2, който го предава през първия рутер, но изтича на втория. След това се изпраща пакет с TTL от 3 и т.н.

Пример за трекерут в действие

Нека да разгледаме един пример за това, което се случва по време на траceroute.

Компютърът изпраща пакет в TTL 1 -> Маршрутизаторът A намалява с 1, до 0 -> TTL е 0, така че пакетът умира -> Router A съобщава местоположението си

Компютърът изпраща пакет в TTL 2 -> Router A намалява с 1, до 1 -> Изпраща на рутер B -> Маршрутизатор B намалява с 1, до 0 -> TTL е 0, така че пакетът умира -> Router B съобщава местоположението си

Компютърът изпраща пакет в TTL 3 -> Router A намалява с 1, до 2 -> Изпраща на Router B -> Router B намалява с 1, до 1 -> Sends to Server -> Server изпраща обратно потвърждение за връзка .

Можете да видите, че вече изграждаме представа за това, откъде отива нашия пакет. След като traceroute получи грешка от местоназначението, то спира traceroute и можете да анализирате къде отиде пакета. Много полезно!

Как да направите тракерета

И така, нека да продължим напред и да видим как да направим тракерот. Първо, отваряй командния си прозорец. Това може да стане, като кликнете върху Старт, след това въведете cmd в търсенето, след което натиснете Enter. Можете също да изведете командния прозорец, като натиснете клавиша Windows Key + R, след което въведете cmd в новия прозорец.

Тук въведете tracert след дестинация, като URL или IP (www.twitter.com или 104.244.42.1). Натиснете Enter. Traceroute ще започне да записва връзката към зададеното от вас местоназначение. Седни и гледайте!

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

Сега, когато знаем какво прави traceroute, можем да го използваме, за да открием къде се изпускат връзките. Представете си, ако изпратихме пакети с увеличаващ се TTL, но когато достигнем определено ниво TTL, изобщо не получаваме съобщения за грешка от следващия рутер. Това вероятно означава, че следващият маршрутизатор не получава пакета. Компютърът ще изчака рутера да говори с него; ако не успее да получи грешка, тя ще подаде сигнал с " Request Timed Out". "

Как е полезно това?

Когато връзката умре, можете да използвате traceroute, за да видите къде по маршрута умира. Ако пакетите не го извадят от маршрутизатора ви, преди да изтече времето, нещо не е наред с рутера ви. Ако пакетът излезе от вашия маршрутизатор успешно, но умре някъде в обмена, вероятно ще бъде проблем на ISP.

Когато имате проблеми с свързването с уебсайт, можете да кажете на traceroute да провери връзката. Ако получавате нулеви грешки от маршрутизатора или обмена, но времето за изчакване се проявява по-късно във веригата, вероятно не е виновен за вашия маршрутизатор или ISP.

Едно нещо, което трябва да отбележите, когато използвате traceroute - пакетите не винаги вземат един и същ маршрут всеки път, когато отиват на определен уебсайт. Уверете се, че имате предвид това, когато правите траceroute и се опитвате да извлечете убедителни доказателства от него.

заключение

Докато е забавен инструмент, за да видите къде отиват пакетите ви, traceroute може да се използва и за да видите къде са виновни. Сега, когато знаете как работи traceroute, можете да го използвате, за да диагностицирате по-добре къде по време на връзката пакетите се губят и къде може да е проблемът. Успех с диагностиката!