Traceroute vs tracert

У меня следующая проблема:

Запуск tracert из Windows 7 возвращает все переходы к заданному сервер. Запуск traceroute из Fedora 30 с использованием того же подключения и того же пункта назначения, за пределами IP шлюза он возвращает только * * *.

Не могли бы вы объяснить мне, почему из Windows он работает, а из Fedora не является? В чем разница?

Кроме того, не могли бы вы мне посоветовать, как сделать так, чтобы traceroute возвращали переходы при запуске из Fedora?

7
задан 22 October 2019 в 20:25
2 ответа

Windows tracert использует ICMP при постепенном увеличении TTL, чтобы сделать датчики:

, Как Использовать Утилиту

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

Fedora traceroute , по умолчанию, отправляет датчики UDP, как был предыдущий Unix traceroute выполнение реализаций. Подсказка UDP является значением по умолчанию (около того, что перепроверила путем выполнения получения прежде, чем записать этот ответ) от человек , который говорит сначала о UDP:

Мы не хотим, чтобы узел назначения обработал тестовые пакеты UDP, таким образом, целевой порт установлен на маловероятное значение (можно изменить его с флагом-p). Нет такой проблемы для ICMP или TCP tracerouting (для TCP, мы используем полуоткрытую технику, которая предотвращает наши датчики, которые будут замечены приложениями на узле назначения).

Оба инструмента ожидают получать , ВРЕМЯ ICMP ПРЕВЫСИЛО как ответ для создания маршрута.

Вдоль этого пути, различные маршрутизаторы могут принять решение ответить по-другому (т.е.: нисколько) в зависимости от тестового метода используется.

, Если Вы знаете, что датчики ICMP работают лучше на Ваш тест, можно сделать то же на Fedora с:

traceroute --icmp destination

, Поскольку ICMP, вопреки UDP, обычно требует обрабатывающих специальных пакетов, команда могла бы потребовать полномочий пользователя root работать с этой опцией.

8
ответ дан 2 December 2019 в 23:35

В чем разница:

  • tracert: использует ICMP
  • traceroute: использует UDP

Должен сказать, что tracert в последнее время стал моим любимым инструментом:

enter image description here

0
ответ дан 16 August 2020 в 21:09

Теги

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