Linuxでtraceroute
に問題があります。コマンドは機能していませんが、tracert
は正常に機能します。 traceroute
はtracert
への単なるシンボリックリンクであるため、両方のコマンドは実際にはtraceroute
コマンドを実行しています。
なぜ期待どおりに機能しないのですか?
動作を示すスクリーンショットは次のとおりです。
プログラムはargv[0]
(その名前)を調べ、使用しているコマンド(tracert
またはtraceroute
)に基づいて異なる動作を呼び出します。
プログラムtracert
を実行すると、argv[0]
はtracert
になります。
したがって、2つのコマンド、同じ実行可能ファイル、異なる動作を呼び出すコード内の異なるパス。
Ubuntu Linuxの場合:
traceroute6 is equivalent to traceroute -6
tracert is equivalent to traceroute -I
tcptraceroute is equivalent to traceroute -T
システムPATHにtracerouteを追加します。
$echo $PATH
xxxxxxxx
$ which traceroute
/bin/traceroute
xxxxxxxxにはtracerouteが含まれていますか?次に、ソフトリンクを作成します。