おはようございます。こんにちは。こんばんは。
ミッドです。
知ってると使えるかもしれないシリーズ、第二弾
PINGコマンドについて解説します。
PINGコマンドは、ドラクエでいうとメラ、FFでいうとファイアくらいの初級呪文です。
基本的なコマンドですので、覚えておいて損はないと思います。
個人的には、Mother2のジェフが使う「チェック」!とか、
なろう小説の「鑑定」!とかが、イメージとしては合ってると思います。
とりあえず、やってみよ~くらいのコマンドです。
※WindowsOSのパソコンを想定して記載してます
PINGコマンドとは
ICMPのプロトコルを使った、対象のPC・サーバ・ドメインへの疎通を確認できるコマンドです。
ICMPは、Internet Control Message Protocolの略称で、TCP/IPでのネットワーク層レベルで機能し、ネットワーク疎通の確認が可能です。
TCP/IPやOSI参照モデルの考え方に関しては、過去記事を見て下さい。
<過去記事>
【前編】トラブルの切り分けどうする?OSI参照モデルTCP/IPとは?
【後編】トラブルの切り分けどうする?OSI参照モデルTCP/IPとは?
要するに、
ネットワーク疎通ができているかを確認したい
場合に利用するコマンドと認識しておけばOKです。
どんな時に使うの?
おいおい、ネットワークは常に繋がってるものだろ?確認なんて不要だよHAHAHA
とお思いのあなた
「ネットワークケーブルが外れてました」「(パソコンは大丈夫だけどその先の)ルーターがハングってました」など、ネットワークに接続できていない事例は腐るほどあります。
ネットワークに繋がっていないことを認識できる人は結構少ないです。
なので、PING!(鑑定)をして、とりあえずネットワーク疎通を確認します。
実行例を下記に示します。
PowerShellを開いて、「ping△疎通先(今回は、yahoo.co.jp)」を入力!
※△は半角スペース
Enter!!
yahoo.co.jpがDNSで名前解決されて、「182.22.59.229」というサーバのIPアドレスがわかったので、そこに対して疎通を行い、
「182.22.59.229 からの応答: バイト数 =32 時間 =49ms TTL=51」
と、応答が返ってきているので「yahoo.co.jp(182.22.59.229)」までのネットワーク疎通はOKです。(0%の損失なので、4回確認して4回確認OK)
これがネットワーク疎通できない、相手のサーバはダウンしているなどだと下記のように「要求がタイムアウトしました」のように、メッセージが変わります。(100%の損失なので、4回確認して4回とも駄目)
※今回は自宅ネットワークで絶対に存在しないIPアドレス「192.168.1.200」に疎通確認してます。
尚、先日お話したドメインの名前解決ができないと、下記のようにホスト(疎通先)が見つかりませんと言われます。
まあ、「niseyahoo.co.jp」なんて現状存在しませんので。
こんな感じで、なんか繋がらないな~PINGしとこ!くらいの感じです。
あくまで疎通確認するためなので、あまりにもやりすぎると疎通先に攻撃していると見なされる場合がありますので、ご注意ください。
PINGコマンド2~3回実行するくらいは、まったく問題にはなりませんが。
もうちょっと利用方法を説明
もう少し詳細なPINGコマンドの使い方を記載しておきます。
基本の型:「ping△疎通先」
上述の通り、疎通先に対して4回の疎通確認をしてくれます。
疎通先の指定は、コンピュータ名・サーバ名・ドメイン名・IPアドレスなどが指定可能ですが、最終的にはIPアドレスに対して実行しています。
継続の型:「ping△疎通先△-t」
自分が止めるまで、PINGを打ち続けます。止めるときは、「Ctrl+C」です。
サーバメンテナンス等で、再起動したサーバが復帰したか否かを確認するのに使います。
止めないとひたすらPING応答をし続けることになりますので、ご注意を。
回数指定の型:「ping△疎通先△-n△回数」
指定した回数のPING応答を実行します。今回は20回を指定。
疎通というより、ネットワーク不安定なときに時間帯で同一回数のPING実行を行って、その応答率をみるとかの利用方法ですね。
間違って、「-t」を指定したまま実行しちゃったんですが、「-n」の回数が優先されるみたいですね。初めて知りました(笑)
ネットワーク(回線)の品質確認ってレベルですと、batやスクリプト組んだり、PINGソフト(Expingなど)を使わないと、手動では無理がありますね。
時間指定の型:「ping△疎通先△-t△-w△数字(ミリ秒)」
指定した間隔(ミリ秒)で、PING応答を実行します。なにも指定しない場合のデフォルト値は4000ミリ秒(4秒)です。
今回は1000ミリ秒(1秒)で指定してみました
指定しないとき(4秒)より、さくさく応答が返ってくる感じです。
4秒間隔じゃなくて、もっと短い間隔で確認したいせっかちさんにオススメです。
何個かオプションを知っておくと、こんな時はこれ!みたいな利用方法が自分で身についてくると思います。
PINGは会社入るまでは知らなかったですが、かなり初歩的なコマンドなのに使う機会はかなりあるので、重宝してます。
PINGコマンドを打つと、なんとなくネットワークについて意識できるのではないかなと思います。
PINGってコマンドを知って、PINGはICMPってプロトコルなんだぜ!って知って、TCP/IPレベルでの問題切り分けを意識できると、なんとなくIT担当一人前って感じですね。
ではでは