トレースルートが機能しない理由

トレースルートが機能しない理由

トレースルートが特定の状況で動作しない理由についていくつか疑問があります。仕組みは理解しているのですが、いくつかの疑問がわかりません。例えば、

$traceroute www.google.com
 1  * * *
 2  * * *
......

'*' があります。UDP の代わりに ICMP を使用すると、次のようになります。

$traceroute www.google.com -I
 1  * * *
 2  * * *
 3  222.42.254.130 (222.42.254.130)  7.980 ms  10.785 ms  4.920 ms
 4  222.42.254.129 (222.42.254.129)  4.363 ms  8.141 ms  5.849 ms
 5  bogon (10.2.1.1)  7.957 ms  7.787 ms  8.321 ms
 6  61.237.121.97 (61.237.121.97)  25.341 ms  24.895 ms  28.725 ms
 7  61.237.123.66 (61.237.123.66)  23.738 ms  24.172 ms  23.916 ms
 8  221.4.120.173 (221.4.120.173)  23.096 ms  24.539 ms  20.827 ms
 9  221.4.6.61 (221.4.6.61)  58.516 ms  60.035 ms  63.200 ms
10  120.80.0.73 (120.80.0.73)  60.991 ms  59.520 ms  59.853 ms
11  219.158.19.69 (219.158.19.69)  59.771 ms  59.192 ms  59.072 ms
12  219.158.22.249 (219.158.22.249)  89.185 ms  87.928 ms  89.582 ms
13  219.158.22.158 (219.158.22.158)  102.195 ms  103.409 ms  106.153 ms
14  219.158.35.114 (219.158.35.114)  218.816 ms  224.845 ms  218.470 ms
15  203.208.62.15 (203.208.62.15)  212.560 ms  208.640 ms *
16  chrome.google.com (203.208.46.1)  210.655 ms *  216.369 ms

なぜ第 1 ホップと第 2 ホップがまだ不明なのか疑問です。-z 500 で icmp レートを設定しようとしましたが、役に立ちませんでした。質問は次のとおりです。

  1. ICMP を使用しているときにホップが発生するのはなぜですか?
  2. 最初の 2 つのホップを取得するにはどうすればよいですか?

調べてみましたが、役に立たない情報は何もありませんでした。ファイアウォールのないルートでインターネットに接続しています。ご協力ありがとうございます。

答え1

Traceroute は ICMP エコー要求に基づいているため、途中にある最初の 2 つのルート (おそらく、独自のプレミス ファイアウォール) は ICMP エコー要求をドロップ/ブロックするように設定されているようです。これが、Traceroute が最初の 2 つのルートからの実際の応答を確認できない理由ですが、それ以降の適切な応答は確認できます。

答え2

最初のホップはインターネットへのゲートウェイです。これは で確認できますnetstat -rn

2 番目のホップはプロバイダーのゲートウェイです。Fritzbox のようなものをお持ちの場合は、そこで IP アドレスを確認できます。

答え3

ネクストホップの検出を完了するには、別のツールである hping を使用できます。Franck の以前の回答で説明されているように、この種の ICMP メッセージをドロップするファイアウォールまたはルーターが存在する可能性があります。

たとえば、最初のネクストホップには次のコマンドを使用できます。

hping www.google.com -p 86 -S -t 1

2番目についてはこれも参照してください:

hping www.google.com -p 86 -S -t 2

関連情報