Traceroute е инструмент в Linux, който ви позволява да изследвате маршрутите на мрежовите пакети. Той може да ви помогне при идентифицирането на ограничителния фактор на пътуванията с мрежови пакети. Traceroute е полезен и за отстраняване на проблеми при бавни мрежови връзки. Това ръководство ви показва как да стартирате traceroute в Linux.
Относно traceroute
Traceroute работи, като изпраща пакети данни до целевия компютър, сървър или уебсайт и записва всички междинни стъпки, през които пакетите пътуват. Резултатът от командата traceroute ще бъде IP адресите и имената на домейни, през които преминават пакетите. Тези записи също показват колко време отнема на пакетите да достигнат до всяка дестинация. Това може да обясни защо някои уебсайтове могат да отнемат повече време, отколкото други, тъй като броят на трафика може да варира.
Traceroute е полезен и за картографиране на локални мрежи. Поглед върху топологията и връзките на локалната мрежа се намира при стартиране на инструмента.
Имайте предвид, че докато използвате traceroute, някои устройства може да не си взаимодействат добре. Това може да се дължи на грешки в маршрутизаторите, ICMP съобщения за ограничаване на скоростта, устройства, конфигурирани да не изпращат ICMP пакети (за предотвратяване на разпределени DoS атаки) и т.н. Някои мрежи също са конфигурирани да блокират заявки за трасиране.
Инсталиране на traceroute
Traceroute е мощен инструмент, който е достъпен за всички дистрибуции на Linux. Предоставеният по-долу е кратък списък на командите за инсталиране на traceroute в различни дистрибуции.
За Debian / Ubuntu и производни:
$ sudo apt инсталира traceroute -y
За Fedora и производни:
$ sudo dnf инсталира tracerouteЗа openSUSE, SUSE Linux, и производни:
$ sudo zypper в tracerouteЗа Arch Linux и производни:
$ sudo pacman -S tracerouteИзползване на traceroute
Следващите раздели ви показват как да използвате traceroute във вашата Linux система.
Основна употреба
Основният метод за използване на traceroute е доста прост. Всичко, което трасето изисква, е дестинацията за извършване на сондирането. Дестинацията може да бъде или домейн, или IP адрес.
$ traceroute linuxhint.com$ traceroute 8.8.8.8
Ако мрежата е конфигурирана да блокира сигнала на трасето, тази сонда ще бъде обозначена със звездички.
IPv4 или IPv6
По подразбиране traceroute ще използва интернет протокола по подразбиране, с който е конфигурирана вашата система. За да зададете ръчно IP версията, следвайте процедурата по-долу.
За да кажете на traceroute да използва IPv4, използвайте флага “-4”:
$ traceroute -4 linuxhint.com
За да кажете на traceroute да използва IPv6, използвайте флага “-6”:
$ traceroute -6 linuxhint.comТестване на портове
Ако има нужда да се тества определен порт, портът може да бъде посочен с помощта на флага “-p”. За UDP проследяване, traceroute ще започне с дадената стойност и ще се увеличава с всяка сонда. За проследяване на ICMP стойността ще определи първоначалната стойност на последователността на ICMP. За TCP и други това ще бъде постоянният дестинационен порт за свързване.
$ traceroute -p
Скриване на имена на устройства
В някои ситуации имената на устройствата в изхода могат да направят изхода объркан. За по-голяма яснота можете да скриете имената на устройствата от изхода. За целта използвайте флага „-n“ (без картографиране):
$ traceroute -n linuxhint.com
Ограничение на времето за изчакване на трасето
По подразбиране traceroute изчаква 5 секунди, за да получи отговор. В определени ситуации може да искате да промените времето за изчакване да бъде по-голямо или по-малко от 5 секунди. За целта използвайте флага “-w”. Имайте предвид, че стойността на времето е число с плаваща запетая.
$ traceroute -w 6.0 linuxhint.com
Методи за сондиране
Има множество методи, които можете да използвате, за да проверите отдалечения адрес. За да зададете traceroute за използване на ICMP ехо, използвайте флага “-I”:
$ traceroute -I linuxhint.com
За да използвате TCP SYN за сондиране, използвайте флага “-T”:
$ sudo traceroute -T linuxhint.com
Задаване на максимален брой скокове
По подразбиране traceroute ще проследява 30 скока. Traceroute предлага възможност за ръчно задаване на броя на скоковете за проследяване.
Използвайте флага “-m” с броя на скоковете:
$ traceroute -I -m 10 linuxhint.com
Посочване на интерфейса
Ако към компютъра са свързани множество мрежови интерфейси, може да е от полза да посочите мрежовия интерфейс, който да се използва за изпращане на пакети. За да посочите мрежовия интерфейс, използвайте флага „-i“:
$ sudo traceroute -i enp0s3 linuxhint.com
Определяне на броя заявки за хоп
За да определите броя на заявките за скок, посочете този номер, като използвате флага “-q”:
$ traceroute -I -q 4 linuxhint.com
Пренасочване на пакети през шлюз
За да насочвате пакети през определен шлюз, използвайте опцията “-g”, последвана от шлюза:
$ traceroute -I -g 192.168.0.1 linuxhint.com
Страница за помощ на Traceroute
Горните демонстрации са само някои от често срещаните употреби на traceroute и има още повече функции, които можете да използвате. За да получите бърза помощ, отворете страницата за помощ на traceroute със следната команда:
$ traceroute --help
За по-пълно, по-задълбочено ръководство за всички налични опции за проследяване на маршрути, разгледайте ръководството със следната команда:
$ man traceroute
Заключение
Traceroute е мощен инструмент, използван за мрежова диагностика и има множество опции, които той поддържа. Овладяването на traceroute може да изисква известно време и практика. Когато използвате този инструмент, често ще използвате методите, описани в тази статия.
Има още инструменти като traceroute там. Ако искате да работите с подобен инструмент в GUI, проверете Zenmap, за да сканирате мрежа. Zenmap е графичен интерфейс за друг популярен мрежов скенер, наречен Nmap.
Щастливи компютри!