traceroute не отображает шлюз по умолчанию и IP-адрес домашнего маршрутизатора

1594
calveeen

Я не понимаю, почему traceroute на Mac OS не отображает IP-адрес моего домашнего маршрутизатора.

Мой traceroute на www.google.com выглядит следующим образом

1 182.55.226.3 (182.55.226.3) 11.116 ms 13.576 ms 14.185 ms 2 183.90.44.217 (183.90.44.217) 8.347 ms 5.254 ms 7.229 ms 3 183.90.44.201 (183.90.44.201) 7.215 ms 5.495 ms 7.216 ms 4 203.117.35.193 (203.117.35.193) 7.693 ms 203.117.35.105 (203.117.35.105) 9.191 ms 203.117.35.221 (203.117.35.221) 7.427 ms 5 203.117.34.81 (203.117.34.81) 7.399 ms 7.444 ms 203.117.34.85 (203.117.34.85) 9.939 ms 6 203.117.37.22 (203.117.37.22) 14.190 ms 203.117.36.38 (203.117.36.38) 7.944 ms 203.117.37.22 (203.117.37.22) 12.577 ms 7 72.14.198.156 (72.14.198.156) 9.226 ms 72.14.196.189 (72.14.196.189) 12.200 ms 7.388 ms 8 108.170.240.242 (108.170.240.242) 5.872 ms * * 9 216.239.57.50 (216.239.57.50) 14.198 ms 72.14.234.96 (72.14.234.96) 8.626 ms 216.239.57.50 (216.239.57.50) 10.731 ms 10 72.14.239.65 (72.14.239.65) 10.027 ms 64.233.175.215 (64.233.175.215) 12.213 ms 72.14.233.43 (72.14.233.43) 28.103 ms 11 * * 216.239.35.168 (216.239.35.168) 16.768 ms 12 64.233.175.215 (64.233.175.215) 11.001 ms * 

Так как traceroute отображает маршрутизаторы, через которые проходит пакет, для посещения серверов google.com, почему мой первый маршрутизатор не является домашним маршрутизатором (192.168.0.1), который получает пакет. Вместо этого 182.55.226.3, кажется, прибывает из одного из маршрутизаторов в моей стране. Должен ли traceroute отображать частный или публичный IP-адрес моего домашнего маршрутизатора. IP-адрес первого прыжка также не соответствует внешнему IP-адресу моего маршрутизатора.

Трассировка на WAN IP-адрес моего маршрутизатора дает ровно один переход. Однако когда я пытаюсь выполнить трассировку до 182.55.226.3, результат выглядит примерно так.

traceroute to 182.55.226.3 (182.55.226.3), 64 hops max, 52 byte packets 1 * * * 2 * * * 3 * * * 4 * * * 5 * * * 6 * * * 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 
0
* traceroute to 182.55.226.3 * Означает ли ваш выходной copypast, что вы не достигли места назначения трассировки? Akina 5 лет назад 0
Я не думаю, что это достигнет места назначения. Отключается после 64 прыжков. Я могу пинговать IP-адреса, хотя. calveeen 5 лет назад 0

2 ответа на вопрос

1
Akina

почему мой первый маршрутизатор не домашний маршрутизатор (192.168.0.1), который получает пакет.

Как работает traceroute? Он отправляет ping-пакеты с другим значением свойства TTL (время жизни). В общем случае каждый маршрутизатор уменьшает TTL и направляет этот пакет на следующий переход, если его значение больше 0 или, если он стал равным нулю, он отбрасывает эхо-запрос и отправляет пакет «TTL expired» в обратном направлении. Таким образом, traceroute отправляет пакет с TTL = 1 и получает «истекший TTL» от ближайшего узла в трассе (и извлекает его IP), затем отправляет пакет с TTL = 2 и получает «истекший TTL» от второго узла в трассировке. и так до тех пор, пока понг не вернется.

Обычно любой маршрутизатор уменьшает TTL на 1. Но он может уменьшить его на 2, 3 или более (что означает, что эта трасса очень дорогая), или не изменять его (самостоятельно скрывать), или когда-либо увеличивать его (разрешать трассы на большие расстояния). ).

Похоже, ваш роутер не меняет TTL. Поэтому, когда TRACEROUTE отправляет пакет с TTL = 1, маршрутизатор просто направляет его без изменения TTL. Следующий переход уменьшает его, результат равен 0, он отправляет «TTL expired» ... и первый узел в трассировке - 182.55.226.3 (это шлюз по умолчанию для интерфейса WAN вашего маршрутизатора?), А не ваш маршрутизатор (192.168.0.1) ,

Вы имеете в виду внешний IP-адрес моего маршрутизатора, который видит мир? IP-адрес WAN моего маршрутизатора не 182.55.226.3. Вызов traceroute на 182.55.226.3 дает несколько прыжков. Но все ответы * * *, в то время как вызов traceroute для IP-адреса WAN моего маршрутизатора - это точно один переход. calveeen 5 лет назад 0
@calveeen * Вы имеете в виду внешний IP-адрес моего маршрутизатора, который видит мир? * Нет. IP-адрес интерфейса и шлюз по умолчанию этого интерфейса - это 2 разных адреса (исключая некоторые особые типы соединения). Akina 5 лет назад 0
0
dirkt

Ваш маршрутизатор имеет несколько сетевых интерфейсов. 192.168.0.1 - это адрес на внутреннем интерфейсе, и (очень вероятно) 182.55.226.3 - это адрес на внешнем интерфейсе, который ваш ISP назначил вашему маршрутизатору.

Некоторые маршрутизаторы отвечают на трассировку с помощью адреса внутреннего интерфейса, другие - с помощью адреса внешнего интерфейса.

Если у вашего роутера есть веб-интерфейс, где вы можете видеть его внешний адрес, проверьте, соответствует ли он недавнему traceroute.

хм, я проверил внешний IP-адрес моего маршрутизатора через веб-сайты, которые показывают вам, такие как http://whatsmyrouterip.com и ip4.me. Внешний IP-адрес не совпадает с 182.55.226.3 calveeen 5 лет назад 0
Веб-сайты покажут, откуда берутся http-запросы. Если ваш интернет-провайдер выполняет http-кэширование или NAT операторского уровня, это не будет внешний IP-адрес вашего маршрутизатора. Вот почему я написал "если ваш маршрутизатор имеет веб-интерфейс ...". dirkt 5 лет назад 0
@dirkt этот ответ кажется неправильным - я не уверен, что маршрутизатор искажает пакет, который он возвращает, чтобы сообщить о внешнем интерфейсе. Скорее всего, он прячется, не уменьшая ttl. davidgo 5 лет назад 0
traceroute к IP-адресу WAN моего маршрутизатора дает ровно один переход, а трассировка до 182.55.226.3 - несколько переходов, все из которых * * * calveeen 5 лет назад 0
Однако, если вы приобрели правильный WAN IP-адрес вашего маршрутизатора (веб-интерфейс покажет правильный адрес, веб-сайты не обязательно), несколько «***» прыжков на первый нормальный адрес traceroute означают, что ваш провайдер делает забавные вещи во внутреннем сеть. Так что да, 182.55.226.3 - это действительно маршрутизатор вашего интернет-провайдера, и вам будет сложно выяснить, что на самом деле делает ваш интернет-провайдер. Если у вас есть root-доступ к домашнему маршрутизатору, вы можете, по крайней мере, попытаться выяснить, что происходит на этом устройстве. dirkt 5 лет назад 0

Похожие вопросы