tracert・traceroute
通信確認で重要なtracert、及びtracerouteについて説明します。
tracert・tracerouteの概要
tracert、及びtracerouteは通信相手までどのルーターを経由しているかルーターのIPアドレスを確認出来るコマンドです。Windowsで使うコマンドはtracertでコマンドプトンプトで実行出来ます。Linuxではtracerouteになります。
tracert 通信相手、又はtraceroute 通信相手と入力する事で、通信相手までに経由するルーターで応答があったIPアドレスを順番に表示します。
コマンドプロンプト |
---|
C:\>tracert 192.168.8.1 192.168.8.1へのルートをトレースしています 経由するホップ数は最大 30 です: 1 1 ms 1 ms 5 ms router_A.aaa.bbb [192.168.1.1] 2 26 ms 8 ms 8 ms router_B.aaa.bbb [192.168.2.1] 3 9 ms 9 ms 9 ms router_C.aaa.bbb [192.168.3.1] 4 9 ms 9 ms 21 ms router_D.aaa.bbb [192.168.4.1] 5 17 ms 18 ms 17 ms router_E.aaa.bbb [192.168.5.1] 6 19 ms 18 ms 18 ms router_F.aaa.bbb [192.168.6.1] 7 19 ms 19 ms 19 ms router_G.aaa.bbb [192.168.7.1] 8 20 ms 19 ms 19 ms server.aaa.bbb [192.168.8.1] トレースを完了しました。 |
相手から応答がない場合は*が表示されます。
tracert・tracerouteの動作
tracert、及びtracerouteはパケットヘッダーのTTLを利用しています。
TTLはパケットが永遠に回り続けないようにルーターを通る度に1引かれ、TTLが0になった時点でパケットは破棄されICMPのタイプ11であるtime exceededが返ってきます。
tracert、及びtracerouteではパケットのTTLを最初1にして送信し、次に2にして送信と宛先IPアドレスからecho replayを受信するまで順番に繰り返し、その間に受信したtime exceededの送信元IPアドレスを表示します。
TTLがパケットヘッダーのどこに組み込まれているかは応用編の「パケット」をご参照下さい。
Windowsでの便利なオプション
Windowsでtracertを実行する時の便利なオプションをご紹介します。
オプション | 説明 |
---|---|
-d | アドレスからDNSでホスト名を解決しません。 |
オプションを付けない場合、各ルーターのIPアドレスからDNSを使ってホスト名に変換するのですが、ルーターのIPアドレスをホスト名で登録していない場合が多く、DNSのタイムアウト待ちで遅くなります。tracert -d 通信相手と入力する事でホスト名に変換されないため動作が速くなります。
コマンドプロンプト |
---|
C:\>tracert -d 192.168.8.1 192.168.8.1へのルートをトレースしています 経由するホップ数は最大 30 です: 1 1 ms 1 ms 5 ms 192.168.1.1 2 26 ms 8 ms 8 ms 192.168.2.1 3 9 ms 9 ms 9 ms 192.168.3.1 4 9 ms 9 ms 21 ms 192.168.4.1 5 17 ms 18 ms 17 ms 192.168.5.1 6 19 ms 18 ms 18 ms 192.168.6.1 7 19 ms 19 ms 19 ms 192.168.7.1 8 20 ms 19 ms 19 ms 192.168.8.1 トレースを完了しました。 |
Linuxでの便利なオプション
Linuxでtraacerouteを実行する時の便利なオプションをご紹介します。
オプション | 説明 |
---|---|
-n | アドレスからDNSでホスト名を解決しません。 |
-I | UDPではなくICMP ECHOで実行する。 |
-nはWindowsと同じですが、-IはLinux特有です。Windowsではtracertをpingと同じICMPのタイプ8であるecho requestを使って行いますが、LinuxではUDPを使って行います。UDPはファイアウォールで透過されていない事も多いため、この場合は-IオプションでICMPを使うようにします。
- トラブル対応「ICMP」