Linux Traceroute 和 Linux Tracert

Linux Traceroute 和 Linux Tracert

我在 Linux 上遇到了问题traceroute。该命令不起作用,但确实tracert可以正常工作。这两个命令实际上都在运行该traceroute命令,因为tracert它只是一个符号链接traceroute

为什么它没有按预期工作?

以下是显示该行为的屏幕截图:

traceroute 不起作用,只是 tracert

答案1

该程序正在查看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

答案2

将 traceroute 添加到您的系统 PATH:

$echo $PATH
xxxxxxxx

$ which traceroute
/bin/traceroute

xxxxxxxx 是否包含 traceroute?那么只需创建一个软链接即可。

相关内容