
полезную информацию, а именно, IP адрес ПЕРВОГО маршрутизатора по пути
следования к станции, к которой был послан исходный пакет. Затем, станция
отправитель пакетов, выяснив адрес первого маршрутизатора может послать
пакет той же станции, но с полем TTL в заголовке IP равном 2. Тогда пакет
пройдет первый маршрутизатор и будет уничтожен вторым, который пошлет
отправителю ICMP сообщение типа 11, но, в этом случае - от СВОЕГО имени, и
таким образом станция отправитель узнает адрес второго маршрутизатора в
направлении той станции, которой послан исходный пакет. Посылая пакеты, с
увеличивающимся на единицу TTL, станция может из IP заголовков ICMP пакетов
узнать все адреса всех портов маршрутизаторов, которое должен пересечь
пакет, посланный в направлении некоторой станции. Сигналом к тому, что все
маршрутизаторы узнаны, будет служить приход в ответ на посланный эхо запрос
эхо ответа, а не сообщения ICMP типа 11. При этом, разумеется, маршрутизатор
в этом случае отправляет сообщения ICMP от адреса того порта, которым принял
пакет – действительно, зачем искать выходной порт, если пакет не нуждается в
маршрутизации?
Подобное исследование сети производится при помощи утилиты ping.exe,
которая позволяет устанавливать произвольный TTL у отправляемых пакетов.
Рассмотрим пример выяснение нескольких ближайших портов в направлении
некоторого узла:
C:\>ping -n 1 -i 1 mail.alkar.net
Обмен пакетами с mail.alkar.net [195.248.191.95] по 32 байт:
Ответ от 192.168.0.1: Превышен срок жизни (TTL) при передаче пакета.
C:\>ping -n 1 -i 2 mail.alkar.net
Обмен пакетами с mail.alkar.net [195.248.191.95] по 32 байт:
Ответ от 212.86.234.25: Превышен срок жизни (TTL) при передаче пакета.
C:\>ping -n 1 -i 3 mail.alkar.net
Обмен пакетами с mail.alkar.net [195.248.191.95] по 32 байт:
Ответ от 212.86.227.110: Превышен срок жизни (TTL) при передаче пакета.
C:\>ping -n 1 -i 4 mail.alkar.net
Обмен пакетами с mail.alkar.net [195.248.191.95] по 32 байт:
Ответ от 212.86.227.98: Превышен срок жизни (TTL) при передаче пакета.
Однако такой способ достаточно громоздкий и явно требует автоматизации. Для
решения этой задачи без постоянного участия пользователя, в Windows (как в
почти в любой операционной системе, поддерживающей TCP/IP) существует
специальная утилита, причем в MS Windows их две: tracert.exe и pathping.exe.
Рассмотрим для начала работу утилиты tracert.exe:
C:\>tracert mail.alkar.net
Трассировка маршрута к mail.alkar.net [195.248.191.95]
с максимальным числом прыжков 30:
1 <1 мс <1 мс <1 мс 192.168.0.1
2 11 ms 13 ms 21 ms neo-tele.com [212.86.234.25]
3 38 ms 11 ms 30 ms ww1-od.alkar.net [212.86.227.110]
4 13 ms 13 ms 21 ms FC1-OD.alkar.net [212.86.227.98]
5 22 ms 24 ms 37 ms SE1-2.FC1-DP.alkar.net [212.86.227.69]
6 114 ms 63 ms 92 ms psie-gw.a-teleport.com [212.86.227.37]
7 102 ms 92 ms 64 ms EM0.WW1-DP.alkar.net [195.248.191.129]
8 67 ms 84 ms 81 ms mail.alkar.net [195.248.191.95]
Трассировка завершена.