Traceroute Linux: примеры и инструкции.

Хотите узнать, как проверить путь данных до нужного сайта или сервера с помощью Linux? Один из самых простых и полезных инструментов — это команда traceroute.

В этой статье мы расскажем, что такое traceroute, как он работает, и представим пошаговые примеры использования. Это поможет вам понять, как диагностировать сетевые проблемы и узнать, через какие серверы проходят ваши данные.

Что такое traceroute и зачем он нужен?

traceroute — это команда в Linux, которая показывает маршрут, по которому проходят ваши данные до определённого сервера в интернете. Она показывает список «узлов» или «прыжков» (hops), через которые проходят ваши пакеты, чтобы добраться до нужного адреса.  

Почему это полезно?

  • Проверить задержки и скорость соединения
  • Выяснить, где возникают проблемы с доступом
  • Узнать, какие серверы или страны участвуют в передаче данных

Как работает команда traceroute?

Когда вы вводите команду traceroute, она посылает серию небольших запросов (обычно с разными таймаутами и TTL — время жизни пакета). Каждый сервер или маршрутизатор, через который проходят ваши данные, снижает TTL и отвечает, если он последний по пути или если задержка превышена. Эти ответы позволяют системе определить адрес каждого «узла» на маршруте.

Обратите внимание: traceroute использует протокол ICMP или UDP-запросы, чтобы запросить ответ от каждого промежуточного маршрутизатора, что позволяет ему определить их адреса и задержки.

Простые примеры использования traceroute в Linux

Имейте в виду, что traceroute обычно не входит в предустановленные программы. Если вам сначала нужно установить данную утилиту, вам помогут наши статьи по установке traceroute на Ubuntu и CentOS.

Пример 1. Простая проверка маршрута по домену

Один из двух простейших способов использования traceroute — по доменному имени, например:

[root@waky practice]# traceroute google.com
traceroute to google.com (142.251.40.174), 30 hops max, 60 byte packets
 1  _gateway (192.168.0.1)  0.898 ms  0.365 ms  0.365 ms
 2  101.192.38.1  (101.192.38.1 )  1.326 ms  1.317 ms  1.331 ms
 3  10.222.2.1 (10.222.2.1)  1.426 ms  2.077 ms 10.248.0.2 (10.248.0.2)  2.012 ms
 4  156.131.192.148 (156.131.192.148)  2.013 ms 156.131.192.149(176.211.92.122)  2.037 ms 156.131.192.148 (156.131.192.148)  1.699 ms
 5  185.140.148.155 (185.140.148.155)  112.734 ms  112.115 ms  113.082 ms
 6  * 72.14.209.89 (72.14.209.89)  109.521 ms  112.585 ms
 7  * * *
 8  108.170.225.20 (108.170.225.20)  114.323 ms 108.170.225.36 (108.170.225.36)  109.625 ms  108.945 ms
 9  209.85.143.20 (209.85.143.20)  108.955 ms * *
10  142.250.238.12 (142.250.238.12)  129.568 ms 142.250.238.14 (142.250.238.14)  136.994 ms  132.854 ms
11  216.239.63.57 (216.239.63.57)  141.520 ms 216.239.63.63 (216.239.63.63)  145.742 ms  141.227 ms
12  192.178.80.79 (192.178.80.79)  225.488 ms  226.873 ms 192.178.80.59 (192.178.80.59)  224.398 ms
13  142.250.211.188 (142.250.211.188)  219.140 ms 142.251.226.92 (142.251.226.92)  220.519 ms  224.615 ms
14  142.251.66.21 (142.251.66.21)  222.065 ms 142.251.69.26 (142.251.69.26)  224.192 ms 142.251.66.21 (142.251.66.21)  222.477 ms
15  209.85.254.128 (209.85.254.128)  231.983 ms 142.251.68.250 (142.251.68.250)  223.367 ms  226.638 ms
16  192.178.108.19 (192.178.108.19)  227.428 ms 192.178.107.53 (192.178.107.53)  224.503 ms 192.178.108.21 (192.178.108.21)  228.096 ms
17  209.85.253.143 (209.85.253.143)  227.992 ms  226.906 ms  228.712 ms
18  lga25s81-in-f14.1e100.net (142.251.40.174)  226.476 ms  225.667 ms  231.706 ms
[root@waky practice]#

Что даст: маршрут ваших данных до сайта Google с указанием времени отклика каждого прыжка.

Пример 2. Проверка маршрута по IP-адресу

Так же, запросы можно посылать непосредственно по IP:

[root@waky practice]# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  _gateway (192.168.0.1)  0.608 ms  0.378 ms  0.365 ms
 2  101.192.38.1  (101.192.38.1 )  1.419 ms  0.978 ms  1.035 ms
 3  10.222.2.1 (10.222.2.1)  1.701 ms 10.248.0.2 (10.248.0.2)  2.086 ms 10.222.2.1 (10.222.2.1)  1.495 ms
 4  156.131.192.149(176.211.92.122)  2.073 ms 156.131.192.148 (156.131.192.148)  1.997 ms 156.131.192.149(176.211.92.122)  4.985 ms
 5  185.140.148.153 (185.140.148.153)  109.292 ms 185.140.148.155 (185.140.148.155)  113.445 ms  112.813 ms
 6  72.14.209.89 (72.14.209.89)  113.386 ms  110.735 ms  110.098 ms
 7  * * *
 8  72.14.235.226 (72.14.235.226)  113.113 ms 72.14.233.96 (72.14.233.96)  107.250 ms  110.963 ms
 9  209.85.143.20 (209.85.143.20)  106.194 ms 192.178.241.234 (192.178.241.234)  114.170 ms 192.178.243.132 (192.178.243.132)  118.216 ms
10  172.253.66.116 (172.253.66.116)  129.750 ms * *
11  72.14.238.168 (72.14.238.168)  122.892 ms 142.251.238.72 (142.251.238.72)  129.045 ms 74.125.253.109 (74.125.253.109)  123.633 ms
12  216.239.54.201 (216.239.54.201)  124.433 ms 172.253.70.51 (172.253.70.51)  125.440 ms 142.250.236.77 (142.250.236.77)  119.429 ms
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * dns.google (8.8.8.8)  125.961 ms *
[root@waky practice]#

Когда использовать: если у вас есть конкретный IP-адрес, или вам нужен более точный анализ маршрута без учета DNS-имени.

Пример 3. Ограничение количества прыжков

Кроме базового использования, у traceroute есть дополнительные опции, например -m:

[root@waky practice]# traceroute -m 10 google.com
traceroute to google.com (216.58.209.174), 10 hops max, 60 byte packets
 1  _gateway (192.168.0.1)  0.895 ms  0.946 ms  0.363 ms
 2  101.192.38.1  (101.192.38.1 )  1.551 ms  1.356 ms  1.490 ms
 3  10.248.0.2 (10.248.0.2)  1.983 ms  2.018 ms  1.586 ms
 4  156.131.192.149(176.211.92.122)  1.643 ms  2.078 ms 156.131.192.148 (156.131.192.148)  2.205 ms
 5  185.140.148.153 (185.140.148.153)  107.998 ms  107.669 ms  107.486 ms
 6  * * 72.14.197.6 (72.14.197.6)  114.120 ms
 7  * * *
 8  72.14.233.96 (72.14.233.96)  106.658 ms 108.170.225.20 (108.170.225.20)  116.188 ms 108.170.225.36 (108.170.225.36)  107.618 ms
 9  209.85.143.20 (209.85.143.20)  110.235 ms  109.599 ms 192.178.241.234 (192.178.241.234)  111.823 ms
10  * * *
[root@waky practice]#

Что делает: ограничивает количество «прыжков» (hops) до 10.

Без этой опции нам потребовалось два десятка прыжков, до конечной цели, в этот раз мы закончили проверку на 10 шаге.

Когда это важно:

  • Чтобы быстрее получить результат: если маршрут длинный и вас интересует только первая часть
  • Для диагностики коротких путей: например, чтобы проверить, не происходит ли задержки на ранних этапах

Пример ситуации: Если вы замечаете, что соединение слишком долгое, и хотите убедиться, что проблема не в удалённых серверах, можно ограничить количество прыжков. Если за 10 прыжков сайт не находится, вероятно, что проблема — дальше или в вашем соединении.

Пример 4. Увеличение времени ожидания

Другая опция, имеющая широкое применение -w:

[root@waky practice]# traceroute -w 5 google.com
traceroute to google.com (142.251.45.174), 30 hops max, 60 byte packets
 1  _gateway (192.168.0.1)  0.901 ms  0.558 ms  0.368 ms
 2  101.192.38.1  (101.192.38.1 )  1.491 ms  1.699 ms  1.031 ms
 3  10.222.2.1 (10.222.2.1)  1.710 ms 10.248.0.2 (10.248.0.2)  2.079 ms  1.570 ms
 4  156.131.192.149(176.211.92.122)  2.063 ms 156.131.192.148 (156.131.192.148)  2.260 ms 156.131.192.149(176.211.92.122)  1.548 ms
 5  * 185.140.148.153 (185.140.148.153)  108.187 ms *
 6  72.14.197.6 (72.14.197.6)  112.190 ms *  114.356 ms
 7  * * *
 8  108.170.225.20 (108.170.225.20)  112.115 ms 108.170.225.36 (108.170.225.36)  106.301 ms  105.871 ms
 9  * 192.178.243.132 (192.178.243.132)  107.031 ms 209.85.143.20 (209.85.143.20)  106.403 ms
10  142.250.238.12 (142.250.238.12)  127.657 ms  126.934 ms  127.766 ms
11  216.239.63.63 (216.239.63.63)  143.914 ms 216.239.63.57 (216.239.63.57)  143.360 ms  142.365 ms
12  192.178.80.79 (192.178.80.79)  226.839 ms  223.318 ms  227.224 ms
13  142.251.245.82 (142.251.245.82)  217.299 ms  222.684 ms 142.251.226.92 (142.251.226.92)  223.457 ms
14  142.251.66.21 (142.251.66.21)  222.728 ms 142.251.69.190 (142.251.69.190)  222.692 ms 142.251.69.26 (142.251.69.26)  223.888 ms
15  192.178.104.210 (192.178.104.210)  226.607 ms 216.239.58.120 (216.239.58.120)  227.744 ms 192.178.73.218 (192.178.73.218)  224.125 ms
16  192.178.108.21 (192.178.108.21)  231.729 ms  228.860 ms 192.178.108.19 (192.178.108.19)  232.477 ms
17  142.251.60.225 (142.251.60.225)  222.356 ms  226.498 ms 142.251.60.227 (142.251.60.227)  225.003 ms
18  pnlgaa-ar-in-f14.1e100.net (142.251.45.174)  231.814 ms  231.162 ms  231.886 ms
[root@waky practice]#

Что делает: задает время ожидания ответа от каждого узла в секундах.

Когда это нужно:

  • Когда маршрутизаторы или серверы медленно отвечают
  • Например, если есть задержки или большие нагрузки в сети, стандартное ожидание (обычно 3 сек) может быть недостаточно, и ответ просто не будет получен.
  • Для более точных данных: увеличение времени проверки помогает понять реальные задержки, даже если сервер отвечает с задержкой.

Пример ситуации: Если при стандартных настройках ответы не приходят или показывают очень много звездочек (*), попробуйте увеличить таймаут — так вы сможете увидеть более полную картину маршрута.

Что означают результаты traceroute?

Рассмотрим подробнее пример вывода traceroute, и разберем, какую информацию он содержит:

…
5  * 185.140.148.153 (185.140.148.153)  108.187 ms *
 6  72.14.197.6 (72.14.197.6)  112.190 ms *  114.356 ms
 7  * * *
…

Расшифровка:

Номер прыжка — порядковый номер промежуточного узла.

Адрес узла — IP или доменное имя, через которое проходят ваши данные.

Время ответа (ms) — три замера времени для каждого прыжка, показывающих задержки.

Значение звездочек (*):

Обычно, если на каком-то узле не пришёл ответ за отведённое время (например, 3 секунды), появляется *.

Это нормально — некоторые маршрутизаторы не отвечают на ICMP-запросы, чтобы снизить нагрузку или по другим причинам.

Советы и рекомендации

Если много звездочек, не паникуйте: зачастую это означает, что узел или маршрутизатор не отвечает на запросы, а не обязательно проблема с соединением.

Используйте рутовый доступ или sudo для более точных результатов.

Комбинируйте traceroute с командой ping: она помогает проверить, доступен ли сервер вообще, а traceroute — определить маршрут.

Заключение

traceroute — это мощное средство для диагностики сетевых путей. Зная, как правильно его настроить и интерпретировать результаты, вы сможете понять, где в сети возникают задержки или неполадки.