Как я могу получить информацию о IP-адресах, которые tracert проходит в Windows?

Просто интересно, что, черт возьми, не дает 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 ответа

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

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

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

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

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

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

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

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

Другие вопросы по тегам