Трассировка - это важный инструмент для анализа работы сети и поиска неполадок. С ее помощью можно определить маршрут, по которому проходят данные от источника к получателю, и выявить возможные сбои на этом пути. Давайте разберемся, как сделать трассировку в сети, и дадим несколько советов для начинающих.
Прежде всего, нужно определиться с целью. Зачем вам нужна трассировка - проверить соединение, найти "узкие места" или неполадки? От этого зависит выбор инструмента и параметров трассировки.
Инструменты для трассировки
Для трассировки можно использовать разные утилиты - как встроенные в ОС, так и сторонние. Рассмотрим основные из них.
Трассировка в Windows
В ОС Windows есть команда tracert
, позволяющая проследить маршрут. Чтобы запустить трассировку, откройте командную строку и введите:
tracert адрес_сайта
Будет выведена информация о промежуточных узлах на пути к цели. Чтобы остановить трассировку, нажмите Ctrl+C.
Трассировка в Linux
В Linux для этих целей используется утилита traceroute
. Синтаксис команды:
traceroute адрес_сайта
Результат аналогичен Windows-версии.
Как сделать трассировку до сервера
Чтобы проверить соединение с конкретным сервером, укажите его IP-адрес или доменное имя. Например:
tracert 192.168.0.1
или
traceroute google.com
Это позволит увидеть, как проходит маршрут до заданного сервера.
Сторонние утилиты
Существует множество утилит для трассировки от сторонних разработчиков. Они предоставляют дополнительные параметры и возможности. Например, SoftPerfect Network Scanner, Angry IP Scanner, SolarWinds Traceroute.
Параметры трассировки
Давайте теперь разберем основные параметры, которые можно настроить при трассировке.
Количество прыжков
По умолчанию трассировка идет до конечной точки. Но можно ограничить количество промежуточных узлов опцией -h. Например, чтобы пройти только 3 узла:
tracert -h 3 адрес_сайта
Таймаут
Если ответ от узла долго не приходит, трассировка прерывается по таймауту. Чтобы увеличить его, используйте ключ -w. Например, чтобы задать таймаут в 5 секунд:
traceroute -w 5 адрес_сайта
Протокол
По умолчанию используется протокол ICMP (ping-запросы). Но можно выполнить трассировку по TCP или UDP с помощью ключа -T. Например, для UDP:
tracert -T udp адрес_сайта
Это поможет, если ICMP-запросы блокируются на маршруте.
Трассировка в локальной сети
Трассировку можно выполнить не только к удаленному хосту, но и внутри локальной сети. Это поможет найти неисправное сетевое оборудование или неправильную конфигурацию.
Например, чтобы проверить маршрут от вашего ПК до локального сервера:
tracert 192.168.1.1
или до другого устройства в сети по его IP или MAC-адресу. Трассировка по локалке работает аналогично.
Графическая трассировка
Существуют утилиты, которые строят графическое представление маршрута трассировки. Это позволяет наглядно увидеть топологию сети и "проблемные" участки.
Рекомендуемые утилиты с графикой: VisualRoute, PathAnalyzer, GeoTracer.
Анализ результатов трассировки
Когда трассировка завершена, нужно проанализировать ее результаты. По ним можно судить о работе сети и возможных неполадках.
Обратите внимание на:
- IP-адреса промежуточных узлов
- Время отклика на каждом участке
- Потерянные пакеты
- "Пустые" узлы, когда нет ответа
Если есть подозрительно большие задержки или потери - возможно, там проблема. Проверьте соответствующее сетевое оборудование.
Трассировка для поиска неполадок
Трассировку очень удобно использовать при поиске и устранении проблем с сетью или соединением.
Например, если вы не можете зайти на сайт, запустите трассировку к его IP. Это покажет, на каком этапе возникает сбой.
Также трассировку стоит делать для сравнения. Например, протестируйте маршруты к разным серверам вашей сети. Это поможет понять, где конкретно возникает проблема.
Дополнительные возможности трассировки
Помимо базовых функций, современные утилиты для трассировки предоставляют расширенные опции для более детального анализа сети.
Запись трассировки в файл
Результаты трассировки можно сохранить в текстовый файл с помощью параметра -w. Это позволит проанализировать данные позже или сравнить несколько трассировок.
tracert -w log.txt адрес_сайта
Пинг в процессе трассировки
Некоторые утилиты умеют делать ping-запросы к каждому узлу в процессе трассировки. Это дает дополнительную информацию о времени задержки и потерях на каждом хопе.
Запись метрик
Можно вести лог значений различных параметров - времени отклика, количества потерь и т.д. Это поможет выявить "плохие" участки маршрута или проблемы, возникающие в определенное время.
Трассировка через сделать промежуточный сервер
Иногда прямая трассировка невозможна из-за блокировки ICMP или других ограничений. В таком случае можно воспользоваться промежуточным сервером, через который пойдет трассировка.
Например, если с вашего компьютера нельзя запустить трассировку на google.com, сделать ее через промежуточный сервер tracer.example.com:
traceroute -g tracer.example.com google.com
Трассировка пройдет до tracer.example.com, а дальше будет выполнена уже с него.
Трассировка с изменением TTL
В некоторых случаях полезно уменьшить время жизни пакета (TTL). Это позволит остановить трассировку на определенном участке маршрута и детально его проверить.
Например, чтобы пройти только 2 хопа:
tracert -i 2 адрес_сайта
Трассировка IPv6
По умолчанию используется IPv4. Но если в вашей сети есть IPv6, можно выполнить трассировку по нему, указав опцию -6:
traceroute -6 адрес_сайта
Это поможет продиагностировать работу IPv6.
Визуализация трассировки сети
Для наглядности полезно отобразить результаты трассировки в виде схемы сети. Это позволяет лучше представить топологию и увидеть возможные "узкие места".
Существуют онлайн-сервисы, которые строят граф сети по данным трассировки. Например, VisualTraceroute, IPTracerouteMapper.
Также это можно сделать в ПО для моделирования сетей, например Cisco Packet Tracer. Импортируйте туда вывод трассировки и получите наглядную схему.
Трассировка сделать через варфейс командной строки
Большинство утилит трассировки имеют интерфейс командной строки. Но существуют и графические варианты.
Графический интерфейс удобен, когда нужно запустить трассировку к нескольким адресам или по разным параметрам. Можно легко это автоматизировать, не вводя команды вручную.
Популярные графические трассировщики: VisualRoute, PathAnalyser, SolarWinds Traceroute.
Они также умеют строить схему сети и предоставляют другие полезные функции.