logo

Linux traceroute команда

Въведение в traceroute

Командата traceroute на Linux е помощна програма за отстраняване на неизправности в мрежата, която ни помага да определим броя на преходите и пътя на пакетите, необходими за достигане на дестинация. Използва се за показване на начина, по който данните се предават от локална машина към отдалечена машина. Зареждането на уеб страница е един от често срещаните примери за traceroute. Зареждането на уеб страница прехвърля данни през мрежа и рутери. Traceroute може да показва маршрутите, IP адресите и имената на хостове на рутери в мрежа. Може да бъде полезно за диагностициране на мрежови проблеми.

В компютрите tracert и traceroute са командите за диагностика на компютърна мрежа за показване на възможни маршрути и измерване на закъсненията при преминаване на пакети през IP мрежата. Историята на маршрута се записва като времето за обиколка на пакета от всички последователни хостове в маршрута; средната сума от време във всеки скок е общата мярка за време, прекарано за създаване на връзката.

Командата 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 порт, портът по подразбиране е 33434.

-q, --tries=NUM: Използва се за препращане на NUM тестови пакета на хоп, по подразбиране е 3.

--resolve-имена на хостове: Използва се за разрешаване на имената на хостове.

-t, --tos=NUM: Използва се за задаване на типа услуга (TOS) на NUM.

-w, --wait=NUM: Използва се за изчакване за секунди за отговор, по подразбиране е 3.

-?, --помогне: Използва се за показване на помощното ръководство, което съдържа кратко описание на поддържаните опции и използване на командния ред.

--използване: Показва кратко съобщение за използване.

-V, --версия: Използва се за показване на информацията за версията на traceroute.

как да изтрия колона в postgresql

Нека да разгледаме бързия индекс на темата:

  • Инсталирайте командата traceroute
  • Как работи?
  • Проследете маршрута с помощта на Ipv6
  • Проследете маршрута с помощта на Ipv4
  • Деактивирайте съпоставянето на IP адрес и име на хост
  • Задайте броя на заявките за хоп
  • Задайте времето за изчакване на отговора
  • Посочете интерфейса, който да използвате
  • Задайте първоначалната TTL стойност
  • Задайте максимален брой скокове
  • Получавам помощ

Реализации на traceroute

Командата traceroute е налична в няколко съвременни операционни системи. В Unix-подобни системи като Linux, macOS и FreeBSD, той е наличен като инструмент за командния ред. Освен това traceroute е достъпен графично в пакета Network Utilities в macOS; тези помощни програми са остарели след публикуването на macOS Big Sur.

ReactOS и Microsoft Windows предлагат програма, наречена tracert, която реализира подобна функция за проследяване на маршрути. Също така базираните на Windows NT операционни системи предлагат PathPing, който може да комбинира функционалността на командата ping с tracert. Изданието на ReactOS е интегрирано от Get Murphy и е лицензирано под GPL.

По подразбиране traceroute изпраща ред от UDP (протокол за потребителски дейтаграми) пакети на 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 е специфицирана от Van Jacobson през 1987 г. въз основа на препоръка на Steve Deering, със специфични убедителни корекции и препоръки от 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 

Горната команда ще произведе изхода, както следва:

python __име__
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', за да излезете от страницата с ръководство.