どーも!marusukeです!
ネットワーク上の経路を確認するコマンドtraceroute
についてです!
tracerouteコマンドでできること
traceroute [オプション] <ホスト名またはIPアドレス>
traceroute
コマンドは、指定したホストまでのネットワーク上の経路を確認するためのコマンドです
指定したホストにパケットを送信し、その途中のルーター(経路)や中継ポイントを特定してリストとして表示します
ネットワークの遅延や障害が発生している箇所を特定するのに役立ちます
主な用途
- ホストまでの経路(ネットワークのルーティング)を調査する
- 各ルーター間の応答時間を測定する
tracerouteコマンドの使用例
# 1. ホストまでの経路を調査する
traceroute www.google.com
# 出力例:
traceroute to www.google.com (142.250.196.100), 30 hops max, 60 byte packets
1 router.local (192.168.1.1) 0.945 ms 0.927 ms 0.891 ms
2 192.168.0.1 (192.168.0.1) 1.135 ms 1.125 ms 1.100 ms
3 10.0.0.1 (10.0.0.1) 5.234 ms 5.230 ms 5.200 ms
4 203.0.113.1 (203.0.113.1) 10.567 ms 10.560 ms 10.540 ms
5 142.250.196.100 (142.250.196.100) 15.670 ms 15.640 ms 15.600 ms
# 2. 最大ホップ数(経由するルーターの数)を指定して調査
traceroute -m 10 www.example.com
# 経由するルーターの最大数を10ホップに制限
# 3. 使用するパケットサイズ(128バイトに設定)を指定して経路を調査
traceroute -s 128 www.example.com
# 4. 特定のネットワークインターフェースを使用して調査
traceroute -i enp0s3 www.example.com
# 5. IPv6アドレスを指定して経路を調査
traceroute -6 ipv6.google.com
tracerouteコマンドのオプション
オプション | 説明 |
---|---|
-m <ホップ数> | 最大ホップ数(経由するルーターの数)を指定します(デフォルト: 30) |
-w <秒数> | 各ホップに対する応答の待ち時間(タイムアウト)を秒単位で指定します |
-n | ホスト名の名前解決をせずにIPアドレスのみを表示します(高速化に有用) |
-i <インターフェース> | 使用するネットワークインターフェースを指定します |
-q <回数> | 各ホップに送信するプローブパケットの数を指定します(デフォルト: 3) |
-4 | IPv4を強制的に使用します |
-6 | IPv6を強制的に使用します |
-p <ポート番号> | UDPパケットで使用する宛先ポート番号を指定します(デフォルト: 33434) |
-T | TCP SYNパケットを使用して経路を調査します |
-I | ICMPエコーリクエストパケットを使用して経路を調査します(Pingベース) |
注意点
ファイアウォールの影響
一部のルーターやホストでは、セキュリティのためICMPやUDPパケットをブロックしている場合があります。この場合、traceroute
は途中で応答を受け取れなくなることがあります
ブロックされた場合の例
traceroute www.google.com
#出力例
traceroute to www.google.com (142.250.196.100), 30 hops max, 60 byte packets
1 router.local (192.168.1.1) 0.945 ms 0.927 ms 0.891 ms
2 * * *
3 * * *
4 *
*が表示されている箇所は、応答を受信できなかったことを意味します
パケットタイプの選択
デフォルトではUDPパケットを使用しますが、TCP(-T
オプション)やICMP(-I
オプション)を使用することで、一部のルーターやホストに応答を期待できる場合があります
以上です!
ここまで読んでいただきありがとうございました!
コメント