Просто интересно, что, черт возьми, не дает tracert разрешения пройти.

$ tracert google.com

Tracing route to google.com  

1 - - - Request timed out.  
2 214 ms 69 ms 737 ms 114.108.194.45  
3 231 ms 217 ms 278 ms 114.108.192.186  
4 114.108.192.186 reports: Destination net unreachable  

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

2 ответа2

3

Используемая вами программа Windows tracert ограничена в своих возможностях: она использует только пакеты, принадлежащие протоколу ICMP , которые в настоящее время блокируются многими брандмауэрами. Это причина, по которой трассировка маршрута не всегда дает значимые ответы.

Это побудило разработчиков в Linux предоставить более богатый набор инструментов трассировки маршрутов, поддерживающих различные методы, помимо традиционных icmp и udp, среди которых - raw, dccp, tcpconn и несколько различных версий исследования TCP. Хорошее описание доступных методов вы можете найти на странице руководства по traceroute для Linux.

Тем не менее, в Windows существует несколько альтернативных ресурсов, которые расширяют диапазон возможностей: вы можете найти их в ответах на вопрос о сбое сервера нашего сайта.

Редактировать:

В ответ на комментарий Loogai: отслеживание маршрута только отображает шлюзы, то есть те компоненты, которые соединяют две различные подсети, а не другие сетевые компоненты. Это происходит из-за свойства TTL (= время жизни). Пакеты имеют срок годности, как и молоко, это TTL. Это сделано для того, чтобы, если пакет не может быть правильно маршрутизирован, он может быть отброшен через некоторое время: в конце концов, вы не хотите, чтобы он накапливался в течение нескольких дней или недель. Механизм для этого - TTL, число целых чисел, которое уменьшается на одну единицу каждый раз, когда пакет проходит через шлюз. Обычно пакеты генерируются с TTL = 64 (но это зависит от протокола и ОС), так что у них есть достаточный шанс достичь намеченного пункта назначения.

Однако пакеты трассировки маршрута (изначально) генерируются с TTL = 1. Когда они достигают первого шлюза (обычно в вашей локальной сети), TTL уменьшается на единицу, и шлюз затем обнаруживает, что срок действия пакета истек, и записывает обратно отправителю пакета, сообщая, что пакет мертв. Таким образом, шлюз выдаст свое существование программе отслеживания маршрута. Теперь новый пакет отправляется с TTL = 2, так что он пересекает первый шлюз, но не второй; и это продолжается до тех пор, пока не будет достигнут конечный пункт назначения или не будет обнаружен очень строгий брандмауэр, в зависимости от того, что произойдет раньше.

Так работает трассировка, и поэтому вы видите только шлюзы, но не видите другие локальные машины.

1

Вы можете использовать такой сервис, как who.is, чтобы найти DNS-информацию об определенных IP-адресах. Это может дать вам представление о том, кто обрабатывает этот IP-адрес и где он находится.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .