traceroute не работает, вывод * * * но сеть в порядке

traceroute не работает, вывод * * * но сеть в порядке

На моем Linux-боксе tracerouteне работает. Вывод такой:

$ traceroute google.com

traceroute to google.com (209.85.231.104), 30 hops max, 52 byte packets
1  * * *
2  * * *
3  * * *
4  * * *

Может кто-нибудь сказать, почему это не работает? Есть ли какие-то возможные причины?

решение1

По умолчанию,tracerouteиспользует высокие порты UDP для отслеживания хостов. Однако иногда брандмауэры блокируют эти порты UDP.

Попробуйте добавить -Iпараметр (заглавная буква i) в командную строку, например:

traceroute -I www.google.it

При этом для отслеживания хостов будет использоваться ICMP вместо UDP.

решение2

Попробуйте использовать -T (tcp) или -U (udp) для обхода брандмауэра.
Некоторые маршрутизаторы/брандмауэры не пропускают icmp echo, поэтому вы можете использовать эти 2, чтобы обойти их.
В любом случае, вопреки тому, что указано в википедии, на моих Debian-боксах traceroute по-прежнему использует пакеты icmp, а не udp.

РЕДАКТИРОВАТЬ

Я ошибался... он использует UDP... возвращаемые ICMP-пакеты указывают на недоступный порт... извините

решение3

возможно, что ваш брандмауэр блокирует пакеты UDP Трассировка

В современных Unix-подобных операционных системах утилита traceroute по умолчанию использует UDP-дейтаграммы с портами назначения с номерами от 33434 до 33534.

решение4

Вероятно, это происходит из-за того, что ответ icmp TIME_EXCEEDED фильтруется маршрутизатором/брандмауэром, который вы используете в качестве шлюза по умолчанию, или самой вашей системой Linux.

Связанный контент