tracerouteは機能せず、出力は* * *ですが、ネットワークは正常です


14

私のLinuxボックスでは、tracerouteが機能しません。出力は次のようになります。

$ traceroute google.com

traceroute to google.com (209.85.231.104), 30 hops max, 52 byte packets
1  * * *
2  * * *
3  * * *
4  * * *

なぜ機能しないのか誰にも教えてもらえますか?その背後にある考えられる理由は何ですか?

回答:


8

デフォルトでは、tracerouteはホストのトレースに高いUDPポートを使用します。ただし、ファイアウォールがこれらのUDPポートをブロックする場合があります。

コマンドラインに「-I」(大文字のi)パラメータを追加してみてください。例:

traceroute -I www.google.it

これは、ホストのトレースにUDPではなくICMPを使用します。


2

-T(tcp)または-U(udp)を使用してファイアウォールをバイパスしてみてください。
一部のルーター/ファイアウォールでは、icmpエコーがトラフを通過させないため、これらの2つをバイパスに使用します。
とにかく、ウィキペディアで述べられているように、私のdebianボックスではtracerouteはまだudpではなくicmpパケットを使用しています。

編集

私は間違っていました...それはudpを使用しています...戻ってくるicmpは到達不能なポート用です...ごめん


1
macOSの場合、-P TCPまたは-P UDPであり、-P ICMPはshodanshokの答えの-Iと同じです。
MrG

1

上流のファイアウォールがUDPパケットをブロックしている可能性があります Traceroute

現代のUnixライクなオペレーティングシステムでは、tracerouteユーティリティはデフォルトで、宛先ポート番号が33434から33534までのUDPデータグラムを使用します。


$は、windows oneではなく、unixプロンプトである可能性が高く、windows tracerouteコマンドはtracertです。そして質問は... Linuxについて告げる
半径

これに気付いたので、答えを編集しました。
lalalalalalala

トレースルートはICMPパケットを使用していると思いました。UNIXベースのシステムがUDPを使用していることは知りませんでした。毎日新しいことを学びましょう。
dbasnett

1

これはおそらく、icmp TIME_EXCEEDED応答が、デフォルトゲートウェイとして使用するルーター/ファイアウォールまたはLinuxシステム自体によってフィルター処理されるためです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.