traceroute の使い方

宛先までの通り道を表示

書き方

traceroute ホスト

パケットが通るルーターを順に表示します。* * * はその先から返事がないことを表します。traceroute パッケージに入っています。

よく使うオプション

オプション意味
-n名前を引かず、IP アドレスのまま出す(速い)
-IUDP ではなく ICMP(ping と同じ)で調べる(root が要る)
-TTCP の SYN で調べる(root が要る。-p でポート)
-m 数何台先まで調べるか(既定は 30)
-w 秒返事を待つ時間

例

$ traceroute -n 10.20.0.15traceroute to 10.20.0.15 (10.20.0.15), 30 hops max, 60 byte packets
 1  10.0.1.1  0.412 ms  0.371 ms  0.355 ms
 2  10.10.0.1  1.204 ms  1.188 ms  1.170 ms
 3  10.20.0.15  1.630 ms  1.611 ms  1.598 ms

宛先までに通るルーターを、近いものから順に出します。1 行が 1 台のルーターです。

$ traceroute -n -m 5 203.0.113.10

5 台先までで止めます。どこで止まっているかだけ知りたいときに、待ち時間を減らせます。

$ sudo traceroute -n -T -p 443 203.0.113.10

TCP の 443 番で調べます。UDP や ICMP がファイアウォールで止められている道でも、通ることがあります。

よくある間違い・注意

  • * * * は、そのルーターが返事をしないだけのこともあります。その先で宛先に届いていれば、道は通っています。
  • traceroute パッケージが入っていないことがあります(dnf install -y traceroute)。root が要らない tracepath も使えます。

実際に打って練習する

Linux レベル2 コースの Lv52「道を作る ip route」で覚えます(第4章 街道の整備(ネットワークの設定と調査))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、ゴールド以上のプランで遊べます。

Linux サーバー構築のコマンド一覧(LinuC レベル2 の範囲)へ戻る