連載
» 2017年09月15日 05時00分 公開

Linux基本コマンドTips(144):【 traceroute 】コマンド/【 traceroute6 】コマンド――ネットワークの経路を調べる

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ネットワークの経路を調べる「traceroute」コマンドと「traceroute6」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ネットワークの経路を調べる「traceroute」コマンドと「traceroute6」コマンドです。

tracerouteコマンド、traceroute6コマンドとは?

 tracerouteコマンドとtraceroute6コマンドは、操作中の端末から目的のサーバまでのネットワーク経路を調べるコマンドです。「traceroute 相手先」で相手先までの経路を表示します。「traceroute6」はIPv6用で、動作は「traceroute -6」と同じです。

 例えば、インターネット接続に問題がある場合、まず「pingコマンド」(第143回参照)を実行します。pingコマンドの結果に異常があった場合、tracerouteコマンドを利用して、相手先ホストやそこまでの経路にあるルーターの状態や設定に異常がないかどうかを調べることができます。

 なお、Ubuntu環境にはtraceroute6のみがインストールされています。tracerouteが必要な場合は、別途「sudo apt install traceroute」または「sudo apt inetutils-traceroute」としてインストールしてください。



tracerouteコマンドの書式

traceroute [オプション] 接続先

traceroute6コマンドの書式

traceroute6 [オプション] 接続先

※[ ]は省略可能な引数を示しています。




tracerouteコマンドとtraceroute6コマンドの主なオプション

短いオプション 長いオプション 意味
-4 IPv4を使用する(tracerouteコマンドのデフォルト)
-6 IPv6を使用する(traceroute6コマンドのデフォルト)
-I --icmp ICMPを使用する
-T --tcp TCPを使用する
-d --debug デバッグモードを有効にする
-i インタフェース --interface=インタフェース 使用するインタフェースを指定する
-p ポート番号 --port ポート番号 使用するポート番号を指定する
-g ゲートウェイ --gateway=ゲートウェイ 使用するゲートウェイを指定する
-r 通常のルーティングを無視して接続する
-F --dont-fragment パケットのフラグメント化を禁止する
-n IPアドレスのまま表示する(ホスト名を検索しない)
-m TTL --max-hops=TTL 最大のホップ数(Max Time-To-Live value)を指定する。最大値は255、初期値は30
-f TTL --first=TTL 表示を開始するTTLの値を指定する(経路を途中から表示する際に使用)
-w 秒数 --wait 秒数 応答の待ち時間(デフォルトは5秒)
-q 回数 --queries=回数 1カ所ごとのパケット送信回数(デフォルトは3回)


接続先までの経路を調べる

 「traceroute ホスト名」で指定したホストに到達するまでの経路を表示します(画面1)。相手からの応答が遅いようなとき、どこで時間がかかっているかなどを知ることができます。ホスト名の代わりに、ホストのIPアドレスを指定することもできます。

 経路はIPアドレスまたはホスト名で表示されます。IPアドレスだけで十分な場合は「-n」オプションを使用します(画面2)。名前解決の時間が不要になる分、素早く実行できます。

コマンド実行例

traceroute www.google.co.jp

(www.google.co.jpまでの経路を調べる)(画面1

traceroute -n www.google.co.jp

(同じく経路を調べるものの、途中の名前解決を行わない)(画面2


画面1 画面1 www.google.co.jpまでの経路を表示したところ
画面2 画面2 名前解決をせず、経路を表示したところ


経路の最大数を変更する

 相手先に到達するまでに経由するルーターなどの個数(ホップ数)を指定する場合は、「-m」オプションを使います。デフォルト値は30です。

 経路が長いといった理由で最後だけ分かればよい場合は、何番目から表示するかを「-f」オプションで指定します。

コマンド実行例

traceroute -f 5 www.google.co.jp

(経由している5番目のルーターから表示する)

traceroute -m 60 www.google.co.jp

(60番目まで調べたら終了する)


 画面3では、3番目から表示を始めて5番目で終了しています。

画面3 画面3 途中の経路の表示を省略したところ


TCPを使って経路を調べる

 tracerouteコマンドはUDP(User Datagram Protocol)を使って経路をテストしますが、環境によっては途中にUDPが使用できないかもしれません。このようなときは、「-T」オプションでTCPを使用するか、「-I」オプションでpingコマンドと同じICMP(Internet Control Message Protocol)メッセージのエコー応答(ECHO)を使用します。どちらもスーパーユーザー(rootユーザー)の権限が必要です。sudoコマンドなどを利用してください。

コマンド実行例

traceroute -T www.google.co.jp

(TCPで経路を調べる)(画面4

traceroute -I www.google.co.jp

(ICMPで経路を調べる)


 画面4ではスーパーユーザーとして実行しています。

画面4 画面4 TCPを用いて経路を調べたところ


IPv6で経路を調べる

 「traceroute6 相手先」または「traceroute -6 相手先」で、IPv6を用いた経路を調査できます(画面5)。

コマンド実行例

traceroute6 www.google.co.jp

(IPv6で経路を調べる)(画面5

traceroute6 -n www.google.co.jp

(IPv6で経路を調べる、名前解決は行わない)


画面5 画面5 IPv6を用いて経路を調査したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。