Traceroute не работает в Linux, в Windows -

8

Я пользователь Linux Mint. Я запустил traceroute в Linux и tracert в Windows. В Linux я просто получаю звёздочки. Кажется, все работает нормально на Windows. Вот результаты

Окна:

Windows

Linux Mint:

Linux Mint

Почему это происходит и могу ли я что-то сделать, чтобы решить эту проблему?

Луиджи
источник
И вы можете получить доступ к Интернету из системы Linux Mint? Работают ли эти ОС на одном компьютере? Как двойная загрузка или использование виртуализации?
Депвид
1
Вниз голосование по той же причине, что и комментарий @depquid. Этот вопрос не имеет много важной информации, чтобы решить эту проблему.
Багавадхар
2
Я не думаю, что он заслужил каких-либо отрицательных голосов за это. Здесь было достаточно информации, чтобы дать ответ.
Иордания
1
Я не ищу голосов, только ответов, поэтому я не буду защищаться :) Конечно, я могу получить доступ к Интернету, это кажется мне тривиальным вопросом. Извините, что не писал о машине: да, это то же самое (с двойной загрузкой)
Луиджи

Ответы:

14

Вероятная причина разницы заключается в том, что по умолчанию Window tracertиспользует ICMP, тогда как Linux по tracerouteумолчанию использует UDP. Использование -Iопции для traceroute должно привести к тем же результатам, что и tracert:

traceroute -w 10 -I google.it

Из tracerouteдокументации:

В современной сетевой среде традиционные методы traceroute не всегда могут быть применимы из-за широкого использования брандмауэров. Такие брандмауэры фильтруют «маловероятные» порты UDP или даже эхо-сигналы ICMP. Для решения этой проблемы реализованы некоторые дополнительные методы трассировки (включая tcp), см. СПИСОК ДОСТУПНЫХ МЕТОДОВ ниже. Такие методы пытаются использовать определенный протокол и порт источника / назначения, чтобы обойти брандмауэры (которые будут рассматриваться брандмауэрами как начало разрешенного типа сетевого сеанса).

СПИСОК ДОСТУПНЫХ МЕТОДОВ

В общем, конкретный метод traceroute может быть выбран по имени -M, но большинство методов имеют свои простые переключатели cmdline (их можно увидеть после имени метода, если оно есть).

дефолт

Традиционный, древний метод трассировки. Используется по умолчанию.

Зондовые пакеты - это дейтаграммы udp с так называемыми «маловероятными» портами назначения. «Невероятный» порт первого зонда - 33434, затем для каждого следующего зонда он увеличивается на единицу. Поскольку предполагается, что порты не используются, хост назначения обычно возвращает «icmp unreach port» в качестве окончательного ответа. (Никто не знает, что происходит, когда какое-то приложение прослушивает такие порты).

jordanm
источник
Это не работает для меня. Дает тот же результат.
Гусь
0

Попробуй это:

traceroute -M icmp google.it
user372552
источник
3
Было бы намного лучше, если бы вы могли отредактировать свой вопрос и объяснить, что он делает, и почему это решит описанную проблему.
Ройма
ICMP никогда не является хорошим инструментом для устранения проблем с сетью (и вы можете просто использовать его pingтогда, в этом нет необходимости traceroute -M). Если вы попытаетесь оценить HTTP-соединение (что, как я полагаю, основано на имени, использованном в вопросе), вам нужно выполнить HTTP-запрос, как правило, TCP / 80 или TCP / 443. Следовательно, вы используете tpctracerouteдля этого.
Патрик Мевзек