У меня следующая проблема:
Запуск tracert
из Windows 7 возвращает все переходы к заданному сервер.
Запуск traceroute
из Fedora 30 с использованием того же подключения и того же пункта назначения, за пределами IP шлюза он возвращает только * * *.
Не могли бы вы объяснить мне, почему из Windows он работает, а из Fedora не является? В чем разница?
Кроме того, не могли бы вы мне посоветовать, как сделать так, чтобы traceroute
возвращали переходы при запуске из Fedora?
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 работать с этой опцией.
В чем разница:
Должен сказать, что tracert
в последнее время стал моим любимым инструментом: