【Linux 入門】traceroute コマンドで経路の確認方法

traceroutetraceroute とは、通信先までのネットワーク経路を表示するコマンドです。
traceroute google.com
traceroute to google.com (142.250.207.46), 64 hops max, 52 byte packets
 1  192.168.0.1 (192.168.0.1)  4.713 ms  1.518 ms  1.295 ms
 2  192.0.2.1 (192.0.2.1)  3.625 ms
      203.0.113.1 (203.0.113.1)  5.793 ms  8.830 ms
 3  * * *
 4  example.net (142.250.207.46)  5.443 ms  5.027 ms  4.705 ms

本記事では、traceroute のオプションの使い方や見方を解説します。

関連記事:ネットワークのコマンド
スポンサーリンク

traceroute の使い方

traceroute google.com
traceroute to google.com (142.250.207.46), 64 hops max, 52 byte packets
 1  192.168.0.1 (192.168.0.1)  4.713 ms  1.518 ms  1.295 ms
 2  192.0.2.1 (192.0.2.1)  3.625 ms
      203.0.113.1 (203.0.113.1)  5.793 ms  8.830 ms
 3  * * *
 4  example.net (142.250.207.46)  5.443 ms  5.027 ms  4.705 ms

次のようにルーティングされていることがわかります。

traceroute の見方

traceroute で表示される内容について説明します。

時間が3つ表示される

以下のように応答時間を3回表示する理由は、デフォルトではパケットを3回送信するためです。

1 192.168.0.1 (192.168.0.1) 4.713 ms 1.518 ms 1.295 ms

なお、異なる経路を通過した場合は、経由した経路を全て表示します。

2  192.0.2.1 (192.0.2.1)  3.625 ms
    203.0.113.1 (203.0.113.1)  5.793 ms  8.830 ms

アスタリスク (*) について

* は応答がなかったことを意味します。(次のルーターにルーティングは行う)

もし、次のルーターが応答した場合は、次のパスから表示されます。

 3  * * *
 4  example.net (142.250.207.46)  5.443 ms  5.027 ms  4.705 ms

よくある原因として、ポートが空いてないことが考えられます。

なお、Linux のデフォルトでは UDP 33434 - 33534 ポートを使用します。

by default, a sequence of User Datagram Protocol (UDP) packets, with destination port numbers ranging from 33434 to 33534;

https://en.wikipedia.org/wiki/Traceroute

traceroute のオプション

ここからは、オプションについて説明します。

UDP でポートを指定 -U

traceroute -U -p 33434 google.com

TCP でポートを指定 -T

sudo traceroute -T -p 443 google.com

ICMP -I

sudo traceroute -I google.com
スポンサーリンク

traceroute の仕組み

traceroute は、IP ヘッダにある TTL フィールドを利用します。

TTL はルーターを1つ通過するごとに減り、0になるとルーティングを終了します。

traceroute は、TTL を1から始めて、1つずつ増やしていくことで経路を表示します。

TTL が 0 になると、ルーターからルーティングが終了した通知が来る (ルーターの IP アドレスを含む)
そのため、経路上にあるルーターの IP アドレスがわかる

指定したドメイン名 (IP アドレス) に到達すると、traceroute は終了します。

スポンサーリンク

関連記事

関連記事:ネットワークのコマンド