【Linux】【Windows】 ping / tracert (traceroute)

  ■ はじめに

 * ICMPメッセージを利用した利用価値の高いコマンド
  (1) ping                : 接続状況を調べる
  (2) tracert(traceroute) : 宛先までの経路を調べる

 ※ ICMPについては、以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/34546170.html

  注意

 * ICMPメッセージを使用するので、経路途中にICMPのやり取りを禁止している機器があると
   経過が表示されない

 

  ■ ping

 * ネットワークの疎通を確認する

 => 特定のコンピュータがネットワーク上に存在しているかどうかを調べて、
  存在しているなら、その通信状況などを表示するコマンド

 * 本来「ピン」と読むが、日本では「ピング」と読むのが一般的

  原理

 * ICMP(Internet Control Message Protocol)ECHOメッセージを送信し、
   相手ホストからのICMP ECHO REPLYメッセージを受け取る事により実現している

 

  結果から分かる事

 * 対象ホストとのネットワーク疎通が正常であること
 * ネットワーク性能の推測

 

  使いどころ

 * Webページが表示できない時などに試してみるといい。

 

  構文

  基本形

ping 疎通確認対象先ホスト(ホスト名またはIPアドレス

  パケットの送受信を無限に繰り返す

ping -t 疎通確認対象先ホスト(ホスト名またはIPアドレス

 

  トラブルシューティング

  応答が返ってこない原因を考える

 * ファイアウォールで引っかかっている
 →可能であれば、ファイアフォールをオフにして試してみる
 →nmap等のコマンドでポートが開いているか調べる
 * 物理的な原因(例えば、LANの線が抜けている等)
 * 通信相手がダウンしている
 * 経路途中にあるいずれかのルーターがパケットを正しく中継していない
 * 経路途中のルーターpingパケットの送受信を禁止している

 

  参考文献

* Windows/Linuxでのオプションなどを記載
http://www.atmarkit.co.jp/fnetwork/netcom/ping/ping.html
* Windowspingコマンドでネットワークトラブルの原因を調査する
http://www.atmarkit.co.jp/ait/articles/0012/01/news002.html

 

  ■ tracert (UNIX系は、traceroute)

 * 宛先までの経路を調べる

 

  追跡の仕組み

 例 : 宛先までに2つのルータを経由する経路を考える

 (1) 経由地の数は、IPヘッダの「生存時間(※)」という項目に書き込まれる。
     この数を「1」として、宛先まで送る
   => 「宛先まで届かなかった」というレスポンスが届く
 (2) IPヘッダの「生存時間」を「2」として、宛先まで送る
   => 「宛先まで届かなかった」というレスポンスが届く
 (3) IPヘッダの「生存時間」を「3」として、宛先まで送る
   => 「宛先まで届いた」というレスポンスが届く

 つまり、生存時間を1から徐々に増やしていき、経路を把握する

 ※ 生存時間(Time to Live、TTL)
   => IPヘッダにある8ビットの項目で「通過できるルータの数」を表す
   => 「時間」って言ってるけど、そうじゃないらしい。

 

  参考文献

 * いいサイト。勉強になる。

 + nmap/tcpdumpWindowsの場合、インストールしないとダメ
http://blog.asial.co.jp/816

  動画

 * 英語
https://www.youtube.com/watch?v=AimCNTzDlVo

 

  関連記事

  【Linux】【コマンド】 ネットワーク系のコマンド

http://blogs.yahoo.co.jp/dk521123/36257284.html

  インターネット層 ~ IP ~

 * 今回のコマンドは、以下の記事にある「ICMP(Internet Control Message Protocol)」を利用している
http://blogs.yahoo.co.jp/dk521123/34546170.html

  経路制御 ~ルーティング~

http://blogs.yahoo.co.jp/dk521123/34580405.html

  【ネットワーク】【プロトコルDNS

http://blogs.yahoo.co.jp/dk521123/34548384.html