Pingは疎通確認だけでなく色々使える有能なコマンド!

今更聞けないPingコマンド(Windows・Unix・Linux・MacなんでもOK)について語ります。

この記事ではWindowsのコマンドプロンプトを例に説明したいと思います。

サーバー系インフラにかかわる仕事をすると必ず使うコマンドと言っても良いぐらいですよね。

ITの世界に入ると、「ほらPingで確認して」とか言われることあるのですが、Pingを詳細に解説してくれるところはあまりない気がしまして、僕もそうだったのですがなんとなく使ってる人も多いかと思います。

せっかく記事にするので、ある程度分かりやすくをモットーに説明したいと思います。




Pingとは

Pingはペンギンではなくて(そりゃPinguね!)、略語なのです。

Packet INternet Groperの頭文字を取った用語で、Grope=手探りするという意味です。

要はサーバーなどを手探りで探す→ホストや通信機器などの疎通を確認するためのコマンドです。

ICMP(Internet Control Message Protocol)という、IP(インターネットプロトコル)層での制御メッセージやエラー通知を運ぶためのプロトコル上で動くコマンドの1つがPingとなります。

プロトコル云々は最初は分からなくても良いので、この部分は軽く読み飛ばしてもらっても構わないです。

要は、疎通確認をするためのコマンドと頭に入れておけば間違いありません。

Pingコマンドを使うシーン

Pingコマンドは実はかなり使えるコマンドなのです。

使うシーンとしては、

  • サーバーや通信機器等の生死・存在チェックが出来る
  • ノードの応答速度がザックリわかる
  • 通信経路の一部が分かる(全部分かるコマンドは Tracertコマンド

1つのコマンドでここまでわかるのはなかなか凄いですよね。

ですので、是非マスターしておきたいところでございます。

※ノードとはサーバーやPC、通信機器(ルータ・ファイヤーウォール・HUBなど)のネットワークを構成する機器のことです。

スポンサードリンク

実際にPingコマンドを使ってみよう

では、実際にPingコマンドを使ってみましょう。

Pingコマンドを使用する際、確認する相手がICMP Echoが有効(ICMP応答が有効)になっている必要があります。

通信機器(端末・サーバー・ネットワーク機器)によって設定方法は異なりますので、各種リファレンスを事前に確認し設定して下さい。

セキュリティ上の理由でICMP Echoを設定しない場合も当然ありますが、その際はPingに応答しないのでご注意下さい。

実例は自分の端末(IP:192.168.0.10)から、同一セグメント上にあるサーバー(192.168.0.1)への疎通確認を行うこととします。

Windowsのコマンドプロンプト(cmd.exe)を開いて以下のようにタイピングし、Enterキーで実行します。

なお、IPアドレスでなくても、ネットワークの名前解決していればコンピューター名やURLでも実行可能です。(例はウェブサイトyahoo.co.jpへのPing)

IPアドレス、ホスト名どちらでもいけますが、IPアドレスが確実かと思います。

応答結果OKの例

実行すると、以下のように結果が返ってきます。(OK例)

応答があると、送信したバイト(Byte)数や、応答時間(ミリ秒)、TTL(Time to live)が取得できます。

端末A
サーバーAさん、生きてますかぁぁぁ?

サーバーA
生きてるぜぇ!!

イメージはこんな感じです。

相手ノードからの応答なし(タイムアウト)

相手からの応答がない場合は以下のように返ってきます。(タイムアウト例)

「要求がタイムアウトしました。」となった場合は、相手先から応答がないってことになります。

応答がないとは、ノードが存在しないとか、ノードが死んでいる(電源が落ちている)ことになるので、厳密に切り分けるにはさらに別の方法で確認する必要があることに注意が必要です。

端末A
サーバーAさん、生きてますかぁぁぁ?

サーバーA
・・・・・・

端末A
なんだ返事なしか。

ってことですね。

相手ノードへ到達できない(経路途中のゲートウェイが教えてくれる場合)

相手の応答がなくて、かつ、経路途中の機器(ゲートウェイなど)が経路がないよと教えてくれる場合は以下のように返ってきます。(Destination Unreachable)

応答なし→タイムアウト→(ゲートウェイが応答して)経路がないよ、と教えてくれるのです。

教えてくれるゲートウェイが途中にあって経路情報を返してくれる設定(ICMPが許可されている)になってなければ「到達できません」とはなりません。(この場合は上記のタイムアウトとなる。)

端末A
サーバーAさん、生きてますかぁぁぁ?

ゲートウェイA
サーバーAへの経路はないから応答しないよ!

端末A
え!経路なしか!

ってことですね。

スポンサードリンク

Pingコマンドのパラメーターは沢山ある

pingコマンドはIPアドレス(コンピューター名)だけで利用することも勿論可能ですが、パラメーターを与えることで色んな結果を得ることが出来ます。

以下がパラメーター一覧となります。(Windows7以降)

パラメーターは組み合わせて使うことも可能です。

個人的には停止するまでずっとPingを打ち続ける「-t」や、「-l」のバッファサイズを大きめに変更するパラメーターを良く使いますのでご紹介しますね。

Ping -tオプション(ずっとPingを打ち続ける)

-tを使った際は停止するまでずっとPingを打ち続けます。

コマンドプロンプトを閉じるか、Ctrlキー+Cボタンで停止が出来ます。

-tオプションは場合によっては相手先の機器の負荷を招くため悪用は厳禁です!(DoS攻撃はこのオプションと下記の-lオプションを組み合わせて使っている)

Ping -lオプション(送信パケットサイズを指定する)

1回に送信するパケットはデフォルトで32byteですが、上記のように100byteとしたり変更が可能です。

機器のレスポンステストする際に意図的にパケットサイズを大きくして応答速度を簡易的に計ることができます。

スポンサードリンク

Pingコマンドを使いこなそう!

Pingコマンドは原則どんな環境でも使えますから、覚えておいて損はありません。

応用すれば色んな切り分けに使えたりしますので。

さあ、どんどんPingコマンドを使ってみましょう。

但し、悪用は厳禁でお願いします。

スポンサーリンク










シェアする

  • このエントリーをはてなブックマークに追加

フォローする

他の記事もぜひ読んでみてください



スポンサーリンク