Traceroute — это простая сетевая утилита, которая может отслеживать маршрут, который проходит интернет-пакет от источника до узла назначения. В этой статье показано, как использовать Traceroute для проверки работоспособности сети Linux и диагностики возникающих проблем.
Примечание. Хотя в этой статье рассматривается трассировка в Linux, вы также можете использовать эту утилиту в macOS и Окна .
Как работает Traceroute?
Traceroute работает, отправляя UDP-пакеты с короткими сроками TTL на каждый интернет-шлюз на пути к удаленному хосту. Эти короткие значения TTL заставляют эти шлюзы сообщать ответ ICMP «TIME_EXCEEDED» вместе с IP-адресом своего интерфейса.
Эти два фактора в сов
Contents
Как работает Traceroute?
оздать подробный список компьютеров, через которые пройдет ваш пакет при подключении к внешнему серверу. Например, при запуске трассировки до «google.com» в моей сети будет отображено от 9 до 10 шлюзов, прежде чем она достигнет серверов Google.Какие проблемы с сетью можно решить с помощью Traceroute?
Traceroute — это всего лишь инструмент проверки сети, который не оптимизирует и не устраняет какие-либо нерешенные проблемы в вашей сети. Traceroute может лишь описывать поведение сетей и пакетов, которые по ним передаются.
Несмотря на это, это по-прежнему важный инструмент для диагностики потенциальных проблем в сети. Хорошим примером является ситуация, когда локальному шлюзу не удается переслать пакет на следующий узел. Traceroute может решить эту проблему, выделив любой маршрутизатор внутри вашей базовой сети, который не отправляет ответ «TIME_EXCEEDED».
Полезно знать: Узнайте больше о проверке сети от использование nmap без sudo в Linux .
Использование Traceroute в Linux
Откройте новый терминал и введите traceroute
, а затем адрес компьютера, к которому вы хотите подключить свой компьютер. Это может быть доменное имя или IP-адрес. Например:
traceroute ubuntu.myvpsserver.top
Нажмите Enter, чтобы начать сопоставление пути к удаленному хосту.
Совет. Узнайте, как проверить локальный интернет-шлюз к определение IP-адреса вашего маршрутизатора .
Отправка пакетов с пользовательским TTL в Traceroute
Хотя для базового использования достаточно использования только трассировки, вы также можете настроить работу программы с помощью флагов. Это может быть полезно, особенно если вы выполняете сортировку своей сети.
Одна из наиболее распространенных настроек трассировки — изменение количества пакетов, отправляемых на шлюз. Для этого используйте флаг -q
, за которым следует количество пакетов, которое вы хотите отправить за запрос:
traceroute -q 1 ubuntu.myvpsserver.top
Вы также можете использовать флаг -N
, за которым следует «1», чтобы явно отключить одновременные запросы пакетов. Это полезно, если у вас есть шлюзы, которые ограничивают скорость передачи UDP-пакетов с ко
Использование Traceroute в Linux
" src="https://saintist.ru/wp-content/uploads/2024/05/use-traceroute-diagnose-issues-linux-04-non-simultaneous-probe-sample.jpg" alt="Терминал, показывающий трассировку с отключенной одновременной передачей пакетов.">Наконец, вы также можете изменить значение TTL по умолчанию для трассировки. Для этого добавьте флаг -f
, а затем укажите TTL, который вы хотите для первого пробного пакета.
Изменение протокола Traceroute в Linux
По умолчанию трассировка в Linux использует UDP для отправки пробных пакетов на сетевые шлюзы. Это может стать проблемой, если вы проверяете шлюз, который активно блокирует пакеты трассировки.
Чтобы это исправить, вы можете использовать флаг -T
для запуска трассировки с использованием простых пакетов TCP SYN.
С другой стороны, вы также можете заставить трассировку использовать пакет ICMP ECHO, если шлюз назначения ограничивает только UDP:
sudo traceroute -I myvpsserver.top
Изменение интерфейса и порта в Traceroute
Traceroute также поддерживает пользовательские сетевые интерфейсы. В этом случае трассировка будет использовать другую сетевую карту на вашем компьютере для проверки пути пакета.
Для этого запустите программу с флагом -i
, за которым следует имя устройства вашего интерфейса.
traceroute -i enp1s0 myvpsserver.top
Примечание. Вы можете найти доступные сетевые интерфейсы для вашего компьютера, запустив ifconfig -s | awk '{print $1}'
.
Кроме того, вы можете использовать флаг -p
, чтобы указать начальный номер порта, который трассировка будет использовать для проверки UDP:
traceroute -p 34543 myvpsserver.top
<
Наконец, флаг -p
также меняет свое поведение в зависимости от используемого вами протокола. При его сопряжении с -I
значение -p
будет установлено в качестве исходного порядкового номера ICMP вместо порта назначения.
Изучение использования трассировки — это лишь первый шаг к пониманию того, как компьютеры взаимодействуют друг с другом по сети. Узнайте больше о компьютерных сетях от анализ содержимого TCP-пакета с помощью tcpdump .
Между тем, вы также можете узнать больше о более высоких уровнях OSI, таких как DNS, на сайте использование инструмента копания в Linux .
Все изменения и скриншоты Рамсеса Реда.
Изменение протокола Traceroute в Linux