
新Linux入門|tracerouteコマンドを使って経路を確認する方法
ネットワーク通信で「目的地のサーバーに届かない…」「どこで遅延してるんだろう?」というトラブルに遭遇したことはありませんか?💦
そんなときに役立つのが traceroute(トレースルート)コマンド です。
このコマンドを使うと、あなたのPCから目的地のサーバーまでデータが通るルート(経路)を“目で見て確認”できるんです✨
まるで「インターネットの地図」をたどるように、通過するルーター(ホップ)を順番に表示してくれる便利なコマンドです。

🧭 tracerouteコマンドとは?
tracerouteコマンド は、パケットが目的地に到達するまでに通過するルーター(ホップ)を追跡し、それぞれのホップに到達するまでの**応答時間(遅延時間)**を測定して表示します。
このコマンドを使うことで、
- どのルーターを経由して通信しているのか
- どの区間で遅延や障害が発生しているのか
を簡単に確認できます👀
📌 POINT
- 通信経路を可視化できる
- 遅延の発生箇所を特定できる
- ネットワーク障害の切り分けに非常に有効
⚙️ コマンド書式
traceroute [オプション] 宛先ホスト名またはIPアドレスたとえば、example.com までの経路を調べたい場合は、次のように入力します👇
[suzuki@AlmaLinux ~]$ traceroute example.com🧩 tracerouteの仕組みをざっくり解説 💡
tracerouteは、TTL(Time To Live) というパケットの寿命を使って経路を調べます。
- まずTTL=1のパケットを送信し、最初のルーターで期限切れ(TTL=0)になります。
- ルーターは「TTLが切れたよ!」というICMPメッセージを送り返します。
- その次にTTL=2のパケットを送信し、次のルーターでTTLが切れて同様にICMPを返します。
- これを繰り返して、最終的に目的地に到達するまでの全ルートを調べる、という仕組みです🔍
📘 イメージで言うと…
あなたのパケットが「中継所(ルーター)」を一つずつ通過しながらゴールを目指していく様子を、tracerouteは順番に追いかけていきます🏃♀️💨
🔧 主なオプション一覧
| オプション | 説明 |
|---|---|
| -4 | IPv4を使用して経路を表示する。 |
| -6 | IPv6を使用して経路を表示する。 |
| -I | ICMPエコーリクエストを使用してトレースする(pingのような動作) |
| -T | TCP SYNパケットを使用してトレースする(ファイアウォール越えに有効) |
| -U | UDPパケットを使用してトレースする(デフォルト動作) |
| -q 回数 | 各ホップへの送信回数を指定する(デフォルトは3回) |
| -m TTL | 最大ホップ数(TTLの上限値)を指定する。 |
| -w 秒数 | 各ホップの応答を待つ時間(タイムアウト値)を指定する。 |
| -p ポート番号 | 宛先ポート番号を指定(TCP/UDP時に有効) |
💬 補足解説
- -I はICMP方式でのトレースなので、pingと同様の動作をします。
- -T はTCPを使うため、ICMPをブロックしているネットワークでも通ることがあります。
- -m はどこまでたどるかを制限できます(ループ防止にも便利)。
🧪 使用例と出力例
① 通常のtraceroute実行(UDP方式)
[suzuki@AlmaLinux ~]$ traceroute example.com
traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets
1 10.0.2.2 (10.0.2.2) 0.543 ms 0.498 ms 0.481 ms
2 192.168.56.1 (192.168.56.1) 1.284 ms 1.268 ms 1.251 ms
3 203.0.113.1 (203.0.113.1) 5.612 ms 5.597 ms 5.581 ms
4 93.184.216.34 (93.184.216.34) 8.974 ms 8.958 ms 8.941 ms💡 見方のポイント
| 項目 | 説明 |
|---|---|
| 1列目 | ホップ番号(通過ルーターの順番) |
| IPアドレス | ルーターのアドレス |
| 各数値 | 応答時間(ms)— 3回測定された平均遅延時間 |
② TCP SYNパケットを使用してトレースする
[suzuki@AlmaLinux ~]$ traceroute -T example.com→ ICMPをブロックしているネットワークでも経路確認ができる場合があります。
③ ICMP方式でトレースする
[suzuki@AlmaLinux ~]$ traceroute -I example.com→ pingの仕組みに近い形で経路を追跡します。
④ 最大TTL(経路の深さ)を指定する
[suzuki@AlmaLinux ~]$ traceroute -m 20 example.com→ 20ホップ目まででトレースを終了します。
📊 出力結果を理解しよう
| 表示項目 | 内容 |
|---|---|
| hop番号 | 通過したルーターの順序番号 |
| IPアドレス/ホスト名 | 各中継ルーターの識別情報 |
| 応答時間(ms) | 各ルーターへの往復遅延時間 |
| *(アスタリスク) | 応答がなかったことを示す(ルーターがICMPを遮断している場合など) |
💡 TIP
通信が止まっている区間があっても、*(アスタリスク)が出ていればその区間のルーターが応答を拒否している可能性があります。
ネットワーク断線とは限りません。
🌟 まとめ
tracerouteコマンドは、ネットワーク経路を可視化して原因を探る“探偵ツール” のような存在です。
「どこで遅れているのか」「どこまで届いているのか」を一目で確認できるので、ネットワーク管理やトラブル対応にとても役立ちます。
IPv4でもIPv6でも使える便利なコマンドなので、覚えておくと通信トラブルに強くなれますよ😉
