Книга построена в стиле "вопрос ответ". Ответы бывают двух видов

Вид материалаКнига
Q:Почему трассировка умирает на полпути к серверу назначения?
Q: Можно ли обойти защиту от трассировки?
Q: Каково назначение ключей tracert?
Родственные вопросы
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   28

Q:Почему трассировка умирает на полпути к серверу назначения?


Довольно часто попытка трассировки пути прохождения пакетов заканчивается провалом – трассировка "умирает" не доходя до сервера, выводя бесконечно длинную вереницу ругательств "Превышен интервал ожидания для запроса". Но сколько ни увеличивай интервал ожидания (см. "Каково назначение ключей tracert") – ругательства не исчезают!


C:\>tracert www.aport.ru -w 10000


Трассировка маршрута к aport.ru [194.67.18.8]

с максимальным числом прыжков 30:


1 140 ms 140 ms 130 ms nas.itech.ru [195.151.210.36]

2 140 ms 140 ms 140 ms ns.itech.ru [195.151.210.33]

3 190 ms 440 ms 171 ms gw.itech.ru [195.151.210.29]

4 160 ms 160 ms 171 ms 195.151.200.90

5 171 ms 180 ms 941 ms krd-gw.mtt.ru [195.151.52.41]

6 181 ms 180 ms 190 ms Moscow18-S3-7-0.RoSprint.net [194.84.251.246]

7 180 ms 201 ms 190 ms Moscow41-F1-0.RoSprint.net [193.232.88.23]

8 180 ms 191 ms 180 ms cisco12.Moscow.ST.NET [193.232.244.43]

9 180 ms 181 ms 180 ms cisco02.Moscow.ST.NET [194.186.157.241]

10 * * * Превышен интервал ожидания для запроса.

11 * * * Превышен интервал ожидания для запроса.

12 * * * Превышен интервал ожидания для запроса.

13 * * * Превышен интервал ожидания для запроса.

14 * * * Превышен интервал ожидания для запроса.

15 * * * Превышен интервал ожидания для запроса.


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

Аналогичная ситуация наблюдается и при попытке проникновения за Proxy-сервер – он либо вовсе отказывается посылать дейтаграмму на несуществующий порт, либо посылает, но прописывает собственное значение TTL в заголовке, отчего трассировка перестает работать. Причем, это справедливо по обе стороны от Proxy-сервера!


Родственные вопросы:

Каково назначение ключей tracert

Можно ли обойти защиту от трассировки?


Q: Можно ли обойти защиту от трассировки?


Обойти защиту от трассировки ничуть не легче, чем достать Луну с неба, но если очень-очень хочется, попробуйте обратится за помощью к утилите ping – будучи запущенной с ключом –r, она заставляет промежуточные узлы вносить свои IP-адреса в заголовок дейтаграммы. Не все маршрутизаторы поддерживают такую возможность, но подавляющее большинство из них подчиняется этому требованию.

Последний узел в цепочке принимает пакет и возвращает эхо-отклик, содержащий в себе заголовок входящего пакета с адресами промежуточных хостов.


C:\>ping chat.ru -r 9


Обмен пакетами с chat.ru [212.24.32.192] по 32 байт:


Ответ от 212.24.32.192: число байт=32 время=410мс TTL=246

Маршрут: 195.151.210.36 ->

195.151.210.30 ->

195.151.200.89 ->

195.151.52.42 ->

194.84.251.245 ->

193.232.88.18 ->

193.232.244.41 ->

212.24.32.2 ->

212.24.32.192


Весьма существенный камень преткновения – жесткое ограничение на количество запоминаемых узлов – емкость IP-заголовка при всем желании не позволяет вмещать более девяти IP-адресов, что в большинстве случаев оказывается недостаточно. Во время проектирования IP-протокола эта цифра не казалась ограничением, скорее наоборот – запасом на будущее, равно как на заре рассвета микрокомпьютеров 640 килобайт оперативной памяти были пределом мечтаний, и никому бы и в голову не пришло, что наступят времена, когда такого объема может не хватить.

К тому же, ping – не панацея и эхо - отклики могут быть так же запрещены администраторами, как и уведомления об уничтожении пакетов (см. "Почему ping не проходит, а сайт сервера нормально работает и открывается?"). Правда, эхо - отклики администраторы запрещают гораздо реже, чем блокируют трассировку, поэтому, в некоторых случаях такой прием может помочь. Конечно, при условии, что клиента с сервером разделяет не более восьми узлов!


Родственные вопросы:

Почему ping не проходит, а сайт сервера нормально работает и открывается?


Q: Каково назначение ключей tracert?


Чаще всего утилита tracert вызывается без ключей, с одним лишь указанием IP-адреса или доменного имени трассируемого узла, но в некоторых случаях этого оказывается недостаточно и приходится прибегать к дополнительным ухищрениям.

Ключ –d запрещает определение доменных имен промежуточных узлов. Это несколько ускоряет трассировку и порою бывает полезно. Тем более что имена узлов в любое время можно определить и самостоятельно по их IP-адресам с помощью утилиты nslookup.

Ключ –h задает максимальное количество трассируемых узлов (по умолчанию 30), – это предотвращает возможные зацикливания, что полезно при автономном пакетном запуске. При интерактивной же работе с программой ее всегда можно прервать нажатием <Ctrl-Break>. В некоторых, очень экзотических случаях, тридцати переходов для достижения узла назначения не хватает и их количество приходится увеличивать, например, так: "tracert www.overfar.ch -h 121".

Ключ –w задает предельный интервал ожидания отклика от каждого узла в миллисекундах. Если ответ от узла не будет получен в течение указанного времени, в соответствующей колонке интервала задержки появится "звездочка", а потеря всех трех дейтаграмм кряду вызовет "ругательство" "Превышен интервал ожидания для запроса". В таком случае следует воспользоваться ключом -w и увеличить интервал ожидания до нескольких секунд, например, до десяти: "tracert www.overlazy.fu -w 10000". Стоит отметить – увеличение времени ожидания не помогает, если маршрутизатор не посылает уведомлений или их уничтожает межсетевой экран (см. "Почему трассировка умирает на полпути к серверу назначения").

Ключ –j задает список узлов для свободной маршрутизации от клиента. "Свобода" маршрутизации подразумевает, что дейтаграмма посетит все перечисленные узлы в указанном порядке, но соседние в списке узлы могут воспользоваться для передачи дейтаграммы услугами любых других промежуточных узлов. Эта возможность бывает полезна если между клиентом и сервером существует неединственный маршрут и пользователь хочет принудительно направить пакеты по выбранному им пути. На выбор пути наложено множество ограничений, в частности, промежуточные маршрутизаторы могут отказаться пересылать пакет по насильно навязанному адресу, особенно если этот узел вне пределов видимости данного маршрутизатора. Например:


C:\>tracert -j 195.161.42.222 {>>>> сноска IP-адрес узла freeproxy.com} www.aha.ru


Трассировка маршрута к www.aha.ru [195.2.70.38] с максимальным числом прыжков 30:


1 901 ms 861 ms 952 ms cisco03-s0.krintel.ru [195.161.42.210]

2 1061 ms 1042 ms 1442 ms ns.krintel.ru [195.161.42.222]

3 * * * Превышен интервал ожидания для запроса.

4 * * * Превышен интервал ожидания для запроса.


Трассировка быстро "умирает", поскольку, узел ns.krintel.ru не может сообразить как ему передать пакет на freeproxy.com, и уничтожает его от безысходности. Поэтому, использование ключа –j – прерогатива администраторов и высококвалифицированных пользователей.


Родственные вопросы:

Почему трассировка умирает на полпути к серверу назначения