traceroute:ネットワーク経路を確認・遅延の発生地点を特定

traceroute

tracerouteコマンドについての概要と詳細

tracerouteコマンドとは

tracerouteコマンドは、ネットワーク経路上で特定のホストやIPアドレスに到達するまでの中継ルータ(ホップ)を逐次的に追跡・表示するためのネットワーク診断ツールです。各ホップでの遅延(ラウンドトリップタイム)や経路情報を取得でき、ネットワーク障害時の原因調査や経路最適化の分析などに利用されます。Windowsでは同様の機能を持つtracertコマンドが利用可能です。

主な用途

  • ネットワーク経路の可視化と経路障害箇所の特定
  • 通信遅延や経路変更の原因調査
  • ネットワークパフォーマンスやインターネット経路の分析
  • 接続先までのルーティング経路の学習や確認

主な特徴

  • 経路上の各ルータ情報を表示:ホストまでのすべての中継点(ホップ)のIPやホスト名、応答時間を取得
  • 遅延時間の測定:各ホップごとのラウンドトリップタイム(RTT)を複数回計測し表示
  • 経路障害やパケットロスの発生点特定:通信がどこで止まっているか、どの経路で遅延が発生しているかを明確化
  • オプションで詳細な診断が可能:パケット数、TTL値、待ち時間、使用プロトコル(ICMP/UDP/TCP)など指定可能

基本的な使い方

traceroute [オプション] ホスト名またはIPアドレス
  • traceroute www.example.com:指定ホストへの経路を表示
  • traceroute 8.8.8.8:指定IPアドレスへの経路を表示
  • traceroute -n www.example.com:IPアドレスのみで表示(ホスト名解決を省略)
  • traceroute -I www.example.com:ICMPプロトコルを利用(標準はUDP)
  • traceroute -T www.example.com:TCP SYNパケットを利用(ファイアウォール回避時など)
  • traceroute -m 30 www.example.com:最大ホップ数(TTL値)を指定

主なオプション一覧

オプション説明
-nホスト名を解決せずIPアドレスのみ表示
-IICMP ECHOパケットを利用して経路探索
-TTCP SYNパケットを利用して経路探索
-m [数値]最大ホップ数(TTL)を指定(デフォルト30)
-q [数値]各ホップへの送信パケット数(デフォルト3)
-w [秒]応答待ち時間(タイムアウト)の秒数
-p [ポート]UDP/TCPの送信ポート番号を指定
-f [TTL]最初のTTL値を指定

インストール方法

RPM系(RedHat, CentOS, Fedoraなど)
$ sudo dnf install traceroute

Debian系(Debian, Ubuntuなど)
$ sudo apt install traceroute

tracerouteの活用ポイント

  • ネットワーク障害時にどこでパケットが失われているかを特定できる
  • ルーティング経路やプロバイダの経路選択を調査可能
  • ファイアウォールやNAT越しの通信トラブルの切り分けに有効

まとめ

tracerouteコマンドは、ネットワーク経路や障害・遅延の発生点を調査するための必須ツールです。pingコマンドとあわせて、ネットワーク管理やトラブルシューティングの現場で幅広く活用してください。