Трассировка: что это такое, для чего нужна и как правильно пользоваться?

Всем привет! Как вы уже поняли, сегодня я постараюсь подробно, но максимально кратко рассказать, что такое отслеживание маршрутов в локальных и глобальных сетях. Я также расскажу, в чем разница между измерением треков в Windows и Linux. Некоторые думают, что когда вы вводите примерно одни и те же команды, инженер получит ту же информацию, но на самом деле это не совсем так — подробнее об этом позже. Если есть вопросы или дополнения, пишите в комментариях.

Определение

Трассировка — это, по сути, тест, при котором пользователь может увидеть путь, по которому пакет данных идет к целевому серверу. То есть через какие узлы он проходит и с какой задержкой. Например, с помощью стандартной команды «Ping» вы получите информацию о времени ответа или времени отправки и получения пакета. И когда вы проследите, вы увидите, через какие IP-узлы этот же пакет проходит на конечный сервер.

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

Windows

В «windows» эту функцию выполняет системный модуль или утилита «Tracert». Как вы понимаете, он находится в папке «System32», как и другие подобные прошивки. Для начала вам обычно нужно использовать командную строку. Утилита хорошо работает как с доменными именами, так и с IP-адресами, включая IPv4 и IPv6. Кроме того, преимуществом является то, что его не нужно устанавливать и он входит в стандартный пакет Windows во всех версиях: XP, 7, 8, 8.2 и 10.

Читайте также:  Wi-Fi Calling: что это такое, звонки в МТС, на телефонах Samsung

А теперь попробуем его использовать. Для этого вам нужно запустить командную строку. В Windows 7 перейдите в «Пуск» — «Все программы» — откройте папку «Стандартные», затем щелкните правой кнопкой мыши командную строку и откройте ее с правами администратора.

ПРИМЕЧАНИЕ! Его также можно открыть с помощью «Win + R» и команды «CMD».

Запустите командную строку от имени администратора в Windows 7

В Windows 10 щелкните правой кнопкой мыши «Пуск» и выберите консоль с правами администратора.

Запустите командную строку от имени администратора в Windows 10

Так что все делается довольно просто: сначала записываем команду «tracert», потом через пробел записываем IP-адрес сервера. В качестве примера я использовал известный DNS-сервер:

tracert 8.8.8.8

Команда Tracert - трассировка IP

Кроме того, вы можете использовать не только IP, но и доменное имя, состоящее из букв. Запустим тест на Яндексе на примере:

tracert yandex.ru

tracert yandex.ru - отслеживание доменного имени

Здесь мы видим вид на несколько шагов. Каждый шаг — это прохождение пакета от одного узла к другому. Смотрите также время прохождения, которое указывается в миллисекундах. Затем вы увидите имя хоста и IP-адрес, которые указаны в скобках. Если узел не отвечает или время ожидания превышено, вы увидите звездочку (*) в столбце времени (*).

Теперь позвольте мне рассказать вам о проблеме с этим тестом. Проблема в том, что команда не показывает некоторые узлы, то есть переключатели, которые работают со вторым уровнем модели OSI. А все из-за того, что у них нет представления интерфейса подключенных устройств в виде IP. То есть переключение происходит на втором уровне, где нет IP-адресов, а связь осуществляется с использованием таблицы MAC-адресов. И понятно, что таких узлов в таблице нет.

Более подробно также рекомендую прочитать про модель OSI и переключатели.

Следовательно, для этой команды все параметры, которые работают со вторым уровнем модели OSI, просто невидимы. Tracert использует протокол управляющих сообщений Интернета (ICMP), который передает данные только в IP-пакете со значением TTL. TTL — время жить для пакета.

Читайте также:  Интернет-розетка: подключение, установка, монтаж и распиновка

Первоначально, когда пакет отправляется на первый узел, значение TTL равно единице. А при отслеживании одновременно отправляются три пакета — поэтому мы видим три столбца времени. Если все пакеты вернутся, мы рассчитываем увидеть время во всех трех столбцах. Затем TTL увеличивается на один, и на следующий узел отправляются еще три пакета. И так до конца, пока последний запрос не достигнет конечного узла.

ПРИМЕЧАНИЕ! Если вы видите звездочку, но пакет все еще проходит через этот узел, скорее всего, на этом маршрутизаторе или сервере есть настройка, которая не обрабатывает запросы ICMP. Они очень часто используются для DDoS-атак, поэтому их обработка иногда отключается.

Как и у любой утилиты, есть список дополнительных параметров, которые могут немного модифицировать тест. Для звонка необходимо ввести:

tracert /?

tracert /? параметры трассировки вывода в Windows

Команда очень полезна не только для работы и тестирования работающих сетей, но и для выявления проблем с Интернетом. Я помню, что мой друг постоянно пользовался высоким откликом в Counter-Strike, но все еще не мог понять, почему — в конце концов, у меня в моем доме по соседству было на порядок меньше пингов. Во время трассировки он увидел серьезную стагнацию пакетов на первом узле (провайдере). В результате он обратился к оператору, и они поменяли старый переключатель, который был там, который был неправильным со времен Российской Империи.

Читайте также:  Смена DNS: как поменять на разных операционных системах?

Linux

Итак, в Windows мы уже выяснили, что трассировку выполняет утилита tracert.exe. В Linux эта утилита носит другое название: «traceroute» — и делает это тоже, но немного по-другому.

Вспомним, как работает tracert на примере изображения ниже:

  1. Хост отправляет запрос к «Router1» с TTL = 1.
  2. Запрос поступает на «Router1», и он, увидев, что TTL равен только единице, уменьшает его и отправляет ответ.
  3. Ответ приходит от первого хоста, и Хост записывает его в таблицу трассировки.
  4. Далее следует запрос на второй узел с увеличенным на единицу TTL.
  5. Это продолжается до тех пор, пока запрос не достигнет целевого сервера. Все это делается на основе протокола ICMP.

Схема трассировки от хоста к серверу

И проблема в том, что «tracert» не может делать запросы через порт, что делает его немного тесноватым. Traceroute работает на основе совершенно другого протокола: UDP. Фактически протокол UDP делает запрос к портам. И конец трассировки, когда пакет достигает конечного узла, происходит, когда на каждом проходе, когда номер порта увеличивается, он закрывается на целевом сервере.

Так же запускаем программу через консоль. У него тоже есть свои параметры.

Пример программы Traceroute

Кстати, при трассировке можно использовать не UDP, а протокол ICMP, для этого нужно добавить параметр «-I».

Пример команды Traceroute с протоколом ICMP

Но что, если вам нужно выполнить трассировку UDP и использование портов в Windows? Для этого вам потребуется прошивка стороннего производителя: «tcptrace». Для трассировки пути TCP (и UDP) вы можете использовать «tcptraceroute».

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: