• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:tracetコマンド)

ネットワーク勉強中に試したtracetコマンドとは

このQ&Aのポイント
  • ネットワークの勉強をしている際に試したtracetコマンドについて解説します。
  • tracetコマンドは、ネットワーク上の通信経路を調べるためのコマンドです。
  • 具体的には、指定したURLやIPアドレスに対してパケットを送信し、経路上のホップ(ネットワークの中継点)を表示します。

質問者が選んだベストアンサー

  • ベストアンサー
  • wellow
  • ベストアンサー率46% (892/1932)
回答No.2

>TTLとはルータを通過する数だったんですか?? 違います。以下参照。 >pingでいつも出てくるのですがTimeToALiveとあり、 TTLとはTime To Liveです。 >pingの制限時間くらいにしか考えていませんでした。 通過可能ルータ数です。 送信元はTTL値を設定してパケットを送出します。一般的には最大値の255を設定しますが、どうしたことか127とかを設定するOSもあります(余り遠いと使い物にならないと考えているのかも)。TTLはルータを通過する度に1つ引かれます。TTLが0になると到達できないので、送信元にICMP time exceededを返します。ですので、最大通過可能ルータ数は254です。 tracerouteは最初はTTL値を1に設定してパケットを投げます。すると最初のルータがICMP time exceededを返しますので、最初のルータのIPアドレスが分ります。tracerouteは最小値、最大値、平均値を計算するため、同じパケットを3回投げます。 次いでTTL値を+1してパケットを投げます。最初のルータはICMP time exceededを返さずに中継、2個目のルータがICMP time exceededを返します。これで2個目のルータのIPアドレスが分ります。やはりtracerouteは3個同じパケットを投げます。 次いでTTL値を+1してパケットを投げます。以降はこれの繰り返しでICMP time exceededが来なくなるまで繰り返しです。 ちなみにicmpをdeny設定しているルータも多々あります。ping floodというDOS攻撃を避けること、また不用意にIPアドレスを明かすと、それをもとに攻撃対象のIPアドレスを類推されやすいことなどが理由です。

flyingbee
質問者

お礼

これまた詳細に有り難うございます。 前に学習したところが一本の線に繋がってきた感じです。 tracerコマンドを勉強してTTLまで理解できるようになりました。   TTLを+1していくのは面白い仕組みですね。 裏の動きまで教えて頂き感謝いたします。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • 774danger
  • ベストアンサー率53% (1010/1877)
回答No.3

tracertの概要はNo.2の方が書かれている通りです で、WindowsのtracertはUNIXとは違い、ICMP echo request(=ping)をTTLを増やしながら出します http://www.wdic.org/w/WDIC/ICMP 途中では、ICMP time exceededが帰ってくるはずですが、おそらくこれが網側でフィルタリングされて返ってこない状況(Request Time Out)になり、最後のyahooに到達した際はICMP echo requestに対するICMP echo replyが返ってきた(11だけ応答があった)、ということで表示されたということでしょう どこに対してもtracertの途中経路がRequest Time Outで最後だけしか応答がない場合は、プロバイダもしくはルータでICMP time exceededがフィルタリングされている可能性が高いでしょう

flyingbee
質問者

お礼

ご回答有り難うございます。 皆様の回答を読んでURLのページを見に行くとよく理解できます。   1個も返ってこない場合ってプロバイダか私のルータに原因が あるということでしょうか。それは盲点でした。

すると、全ての回答が全文表示されます。
  • 0909union
  • ベストアンサー率39% (325/818)
回答No.1

>直通ゆえに探すのに時間がかかったということでしょうか 違います。記載されているサイトの説明趣旨は、ITエンジニアに対しての説明と言うよりも、素人にたいしにての、ネットワーク関連コマンドの存在と、概略です。 このコマンドに対して仕組みを説明しているわけではありません。調べるなら、”CCNA”とか”ITパスポート”とかの参考書を見てください。 TCP/IPでのパケットには送信ヘッダーが負荷されています。そのヘッダーに”TTL”と言う領域があり、そこに数字を設定すると、その数字の分だけ、ルーターを通過します。 0とすれば、1つのルーターも通過せずに、そのノード内だけブロードキャストします。次に1とすれば、そのパケットは1つ乗り越えるが2つめのルーターでとまります。それを繰り返してゆくだけです。その数字が先頭の1から10までに使われるカウント数字です。ルーター側は、そのTTLの領域を見て、通過させるか、させないか決めます。 もちろんルーター側にも、この手のパケットに反応しないようにもできます(ホスト名など返さない)。 "ms"で表される数字は反応時間です。対象のパフォーマンスが落ちていれば、数字が大きくなります。 つまり”*”などと出ている場合、パケットはそこのルーターまで届いていているが、ルーターにノックをしたが反応がなかっただけです。1から11までカウントされていれば、その数分だけルーターを通ったことになります。 11番目までいったなら、10個のルーターを通過した事になります。 遅い原因をtracert コマンドだけで特定できません。特にTCP/IPの欠点は、原因や要因となっている場所の特定は難しい点にあります。 とりあえず、 pathpingで試してみてください。同じような機能のコマンドですが、最後に集計がでます。

flyingbee
質問者

お礼

ご回答有り難うございます。 なるほど、実際は通過していたのに情報を返さなかったわけですか。 TTLとはルータを通過する数だったんですか?? pingでいつも出てくるのですがTimeToALiveとあり、 pingの制限時間くらいにしか考えていませんでした。 pathpingとは初めて知りました。 早速yahoo.co.jpにためしてみたところ下期のように返ってきました。 Tracing route to yahoo.co.jp [203.216.227.176] over a maximum of 30 hops: 0 XXXXXXXX [192.168.11.2] 1 * * * Computing statistics for 25 seconds... Source to Here This Node/Link Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address 0 XXXXXXXX [192.168.11.2] 100/ 100 =100% | 1 --- 100/ 100 =100% 0/ 100 = 0% XXXXXXXX [0.0.0.0] Trace complete. 通過したと思えるルータの数は見当たらないのですが、 やり方が悪いのでしょうか。

すると、全ての回答が全文表示されます。

関連するQ&A