図1 tracerouteで10.161.176.41というIPアドレスのホストと通信するためのルーティング情報を確認した画面
図1 tracerouteで10.161.176.41というIPアドレスのホストと通信するためのルーティング情報を確認した画面
[画像のクリックで拡大表示]
図2 途中のルーターまでしか経路が確認できなかった画面
図2 途中のルーターまでしか経路が確認できなかった画面
[画像のクリックで拡大表示]
図3 ICMP echoパケットを送信して相手との間のルーティングを確認した画面
図3 ICMP echoパケットを送信して相手との間のルーティングを確認した画面
[画像のクリックで拡大表示]

traceroute -n 対象ホスト

 ネットワークを使っていると,特定のホストと接続できなくなったり,特定のホストとの通信速度が遅くなった,といった現象が発生することがあります。このような場合に,原因を調査するにはtracerouteコマンドを使うのが便利です。図1では,10.161.176.41というホストとの通信を確認しています。

 この図1のように,-nオプションを使ってtracerouteを実行すれば,DNSサーバーと通信できないようなホスト名を解決できない環境でも,結果をよりすばやく表示可能です。 図1の例では,さらに-qオプションを使ってホップあたりに送出するパケット数を「2」と少なく指定することで,結果をよりすばやく表示しています。

 なお,Linuxのtracerouteは,デフォルトではUDPパケットを使用しています。このため,あるホップ(ルーター)がUDPをブロックしている場合は,途中で到達不能となります(図2)。このような場合は,-Iオプションを付けてtracerouteを実行し,UDPの代わりのICMP echoパケットを送出するようにすれば,対象とするホストとの間のルーティング情報が確認でき問題が解決する場合があります(図3)。