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

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

tracetコマンド

tracetコマンド ネットワークの勉強をしています。 tracertは以下のURLの解説になると思います。 http://www.atmarkit.co.jp/fnetwork/tanpatsu/12wsv2003/01.html   家から試して tracert yahoo.co.jpと試してみたところ 1~10まででRequest Time Out になりました。 そして11で初めて1個だけ反応があり、そこで終わりました。 こちらとしては1から順番に埋まっていくとばかり思っているのですが、 私の試行が意味するところはyahooまで間に何もなくて直通で、 直通ゆえに探すのに時間がかかったということでしょうか?

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

  • ベストアンサー
  • 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

  • ■ tracert コマンドの使い方

       ネットワークの勉強中です。  Windows(実際は WindowsMe)で、自分のプロバイダまで、 tracert コマンドで使ったのですが、途中(10個目)で 10 *  *  *  Request time out.  (以下最初の数字だけが増えて 繰り返し)  になってしまいます。  コマンドは次のようなものです。 tracert www.myprovider.com (mypyprovider : 実際の名前)  色々とオプション(-w とか)を変えても状況は変わりません。  プロバイダーは、IE で、ちゃんと http://www.myprovider.com/ で見えます。  これは、どういった状況が起こっているのでしょうか?  ちなみに、次のコマンドは、正常に完了します。  tracert www.yahoo.com Trace complete.  情報、ご教授をよろしく、お願い致します。  

  • windowsのtracertコマンドについて質問します。

    windowsのtracertコマンドについて質問します。 初心者です。プロトコルの意味も解らないで質問しています。 前提として、目的とするサーバーは繋がっていて正常に機能している。そこに、tracertコマンドを行ったとします。 例えば、 ホップ数 20 * * * request time out 21 * * * request time out 22 4mm 5mm 4mm [12.123.31.113] 23 * * * request time out 25 4mm 5mm 4mm [12.122.15.113] と言うような事が起こり得るのでしょうか? 私の言いたいのは、windowsのtracertコマンドは 1。ホップ数(20,21,22,23,24,25)は違うホスト(ipアドレス)を指している。   それぞれ、違うホストをトレースして、違うipアドレスを取得している。 2。request time outはそのホストがその様に設定しているだけでipアドレスそのものは取得している。   20と21は、当然違うホストである。(ipアドレスは違う) windowsのtracertコマンドの解釈として、以上でよろしいでしょうか? 宜しく願います。

  • tracert コマンドが必ずtime out

    tracert コマンドが必ず2行目以降全て request time out となってしまいます。 ルーター宛の tracert と、LAN 内の PC 宛でしたら成功しますが、 インターネット上の、例えば yahoo.co.jp 宛や google.com 宛など、 どのようなサイトも、IP アドレスで指定しても全て失敗してしまいます。 環境は以下の通りです。 ・PC  Windows XP Home Edition SP2 ・ルーター  Aterm WD605CV yahoo.co.jp 宛のtracert コマンドの結果は以下の通りです。 ------------------ C:\WINDOWS\system32>tracert yahoo.co.jp Tracing route to yahoo.co.jp [124.83.139.192] over a maximum of 30 hops: 1 <1 ms <1 ms <1 ms warpstar-42dcb4 [192.168.0.1] 2 * * * Request timed out. 3 * * * Request timed out. 4 * * * Request timed out. 5 * * * Request timed out. 6 * * * Request timed out. 7 * * * Request timed out. 8 * * * Request timed out. ~~ -------- LAN 内 PC 宛の tracert コマンドの結果は以下の通りです。 -------- C:\WINDOWS\system32>tracert 192.168.0.4 Tracing route to 192.168.0.4 over a maximum of 30 hops 1 <1 ms <1 ms <1 ms 192.168.0.4 Trace complete. -------- 何が原因と考えられるでしょうか。tracert というコマンドの存在を知ったのは5年ほど前ですが、 当時から一度もインターネット側の tracert に成功したことがありません。 環境は当時からずっと同じです。 また、何か必要な情報がありましたら補足いたしますのでご指摘下さい。 どなたか、原因がわかる方アドバイスの方よろしくお願い申し上げます。

  • 【nslookupコマンド】 で 【unknown】 が帰ってきてくる

    FedoraCore5でDNSサーバーを構築したのですが、 windowsからnslookupコマンドを打つと 下記のようになります。 -------------------------------------- DNS request time out. *** Can't find server name for address 192.168.0.*: Time out *** Default servers are not available Default Server: Unknown Address: 192.168.0.* -------------------------------------- DNSサーバーからnslookupを打つと正常に名前解決してくれます。 ちなみにDNSサーバーとwindowsは同ドメイン、同ネットワークです。 DNSに詳しい方、どうぞ宜しくお願いいたします。

  • tracert www.yahoo.co.jp

    いつも教えていただきありがとうございます。 yahooのサーバーまでの経路を表示しようと思い、 コマンドプロンプトにてtracert www.yahoo.co.jpと入力したのですが 1 * * * Request timed out. 2 * * * Request timed out.            ::: 29 * * * Request timed out. 30 * * * Request timed out. Trace complete. となってしまいます。インターネットにはつながってますし、 ヤフーのホームページも見れます。 なぜ、「Request timed out.」になってしまうのでしょうか? (ちなみにping www.yahoo.co.jpでもタイムアウトでした。) 気になって仕方ありません。どなたか教えてください。 よろしくお願いいたします。

  • ヤフーメールのPOPサーバにPingしても、反応がない

    ヤフーメールのPOPサーバ(pop.mail.yahoo.co.jp)にPingしたのすが、Request time out になって、反応がないです。 なぜでしょうか? ----------------------------------------------------------------- C:\Documents and Settings\Administrator>ping pop.mail.yahoo.co.jp Pinging pop.mail.yahoo.co.jp [202.93.87.230] with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 202.93.87.230: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

  • 無線LANでファイルの共有ができません

    デスクトップとノート一台づつで、無線LANの構築しました。プロバイダはyahooです。お互いにインターネットの接続はできていますが、両者のpingが通りません。ファイルの共有をしたいのですが、できません。両方ともWindowsXPを使っています。両者のアドレスは以下の通りです。 [デスクトップ] IPアドレス:192.168.3.2 サブネットマスク:255.255.255.0 デフォルトゲートウェイ:192.168.3.1 [ノート] IPアドレス:192.168.3.3 サブネットマスク:255.255.255.0 デフォルトゲートウェイ:192.168.3.1 お互いにpingを通すと、request time outになります。tracertをためすとcompleteで繋がってはいるようです。 ファイルの共有をするには、どうすればいいのでしょうか?

  • Windows Mediaファイルにスクリプトコマンドを追加

    こんばんは。 表題の通り、Windows Mediaファイル(wmv)にスクリプトコマンドを追加しようと思います。 いや、正確にはスクリプトコマンドで良いのかどうか分かりませんが、要するにムービーのある時点でブラウザを起動させてHTMLファイルを表示させたいのです。 で、調べてみると「Windows Media ASFインデクサ」でスクリプトコマンドが追加でき、コマンド一覧に「URL」というのがあったのできっとこれだろうと。 早速やってはみたのですが無反応。 注意書きにもあったように一度asfに拡張子を変えてから読み込んで、書き込みが終わったら保存してwmvに戻す。 手順通りだと思ったのですが、どうにも上手くいきません。(ちなみに最終的にはローカルのHTMLを開くつもりですが、今回はテストなのでよくあるYahooみたいなURLを記入してます) WMVに詳しいかた!よろしくお願いします!

  • lpコマンドでネットワークプリンターから印刷できない

    プリントサーバーのパラレルポートに接続したプリンターからは印刷できていたのですが、 このたび導入したネットワークプリンターからは印刷できません。 lp text.txt とやると request id is printer-10 (1 file(s)) のように表示されるので一応ジョブは飛んでるっぽいのですが、いくら待ってもプリンターは微動だにしません。 このネットワークプリンターは以前使用していたインクジェットプリンターと同様にCUPSで設定しています。 今回導入したプリンターはIPP対応のネットワークプリンターなので、CUPSに何かネットワーク用の設定が必要なのではと考えています。 また、このプリンターはXP機から印刷しようとすると、普通に反応して印刷してくれます。 シェルからlpコマンドを使ったときだけうまくいきません。 どなたか詳しい方いませんか~。

  • XCOPY /Dコマンドがネットワークドライブでうまくいかない。

    XCOPY /Dコマンドがネットワークドライブでうまくいかない。 OSはWINXP ホームです。(これを「パソコンA」とします) ネットワーク上の「パソコンB」のHDにバックアップを取るためXCOPY /Dコマンドを実行すると、更新していないファイルまで更新してしまいます。 「パソコンA」のDドライブをネットワークドライブにしてZドライブにしています(業務の都合上)が、Zドライブではうまく処理できているようで、更新のないファイルはコピーしていないようです。 HPをいろいろ探してみまると、こちらのページhttp://slashdot.jp/~patagon/journal/416001にコマンドのことが書かれていましたが、勉強不足で今ひとつ理解できません。 もう少しわかりやすくどなたか解説してください。 ちなみにコマンドは「xcopy ”d:¥test¥" "x:¥bkup¥" /d /e」です。 dドライブのtestフォルダ以下をまるごと ネットワーク上のxドライブのbkupフォルダにとりたい もちろん、差分だけ(作業時間節約のため)  宜しくお願いします。(>_<)