3

У меня проблема с traceroute в Linux. Команда не работает, но tracert работает нормально. Обе команды фактически запускают команду traceroute как tracert является просто символической ссылкой на traceroute .

Почему это не работает, как ожидалось?

Вот скриншот, показывающий поведение:

traceroute не работает, просто tracert

2 ответа2

6

Программа просматривает argv[0] (его имя) и вызывает другое поведение в зависимости от того, какую команду (tracert или traceroute) вы используете.

Если вы запустите программу tracert тогда argv[0] будет tracert .

Итак, две команды, один и тот же исполняемый файл, разные пути в коде, вызывающие разное поведение.

В Ubuntu Linux:

   traceroute6 is equivalent to traceroute -6
   tracert is equivalent to traceroute -I
   tcptraceroute is equivalent to traceroute -T
1

Добавьте traceroute в вашу систему PATH:

$echo $PATH
xxxxxxxx

$ which traceroute
/bin/traceroute

xxxxxxxx содержит traceroute? Тогда просто сделайте мягкую ссылку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .