pingとは?【pingコマンド】【pingコマンド一覧】【基本情報技術者試験】

こんにちは。

今回は「pingコマンド」について解説していこうと思います。

また、pingに関連する攻撃手法としてping Flood攻撃についても解説します。

pingコマンドとは?

pingコマンドとは、ノード同士がIPによってきちんと結ばれているかを確かめるためのコマンドです。

pingはICMPを利用しています。

pingコマンドは、ネットワーク接続をテストするためのツールで、特定のIPアドレスやドメイン名に対してICMP(Internet Control Message Protocol)エコーリクエストを送信し、その応答時間を測定するものです。

これによって、ターゲットへの到達性やネットワークの遅延を確認することができます。

1. 基本的な使い方

pingコマンドは、以下の形式で使用します。

ping [オプション] 宛先

ここで、「宛先」はIPアドレスやホスト名(例: google.com)などです。

例1: ホスト名を指定

ping google.com

例2: IPアドレスを指定

ping 8.8.8.8

2. pingコマンドの仕組み

pingコマンドは、以下の手順で動作します。

  1. ICMPエコーリクエストを送信: 指定された宛先にICMPエコーリクエストパケットを送ります。
  2. エコーリプライを待機: 宛先からのICMPエコーリプライ(応答)を待ちます。
  3. ラウンドトリップタイムを計測: パケットが宛先に到達し、応答が返ってくるまでの時間(ラウンドトリップタイム)を測定します。
  4. 結果を表示: 応答が返ってきた場合、応答時間、パケットの送受信に関する統計情報を表示します。

3. pingコマンドの結果の解釈

以下のような結果が表示されます。

PING google.com (142.250.183.206) 56(84) bytes of data.
64 bytes from nrt20s35-in-f14.1e100.net (142.250.183.206): icmp_seq=1 ttl=117 time=14.7 ms
64 bytes from nrt20s35-in-f14.1e100.net (142.250.183.206): icmp_seq=2 ttl=117 time=15.1 ms
  • icmp_seq: パケットのシーケンス番号。送信された順番を示します。
  • ttl: Time To Live。パケットがルータを通過できる回数を示し、ネットワークのホップ数を制限します。
  • time: パケットのラウンドトリップタイム。ネットワーク遅延を示します。

4. よく使われるオプション

pingコマンドには多くのオプションがあり、以下はその中でもよく使われるものです。

  • -c [回数]: 送信するパケットの回数を指定します。例えば、ping -c 4 google.comは4回だけpingを送信します。
  • -i [間隔]: パケットを送信する間隔を秒単位で指定します。デフォルトは1秒です。
  • -s [サイズ]: 送信するパケットのサイズを指定します。デフォルトは56バイト(ヘッダー含めて84バイト)です。
  • -t [TTL]: TTL(Time To Live)の値を指定します。パケットが到達できる最大ホップ数を設定します。
  • -q: 結果を簡略表示し、統計情報のみを出力します。

5. pingの制限

  • ファイアウォールの影響: 一部のサーバやネットワーク機器はセキュリティのためにICMPパケットへの応答をブロックしています。そのため、pingが失敗する場合がありますが、必ずしもネットワーク接続ができていないとは限りません。
  • ネットワークの遅延の影響: 高遅延やパケット損失が発生しているネットワークでは、pingの結果が不安定になることがあります。

pingコマンドは、ネットワークのトラブルシューティングにおいて基本的かつ非常に有用なツールです。

ネットワークの接続状況や応答速度を簡単に確認できるため、システム管理者や一般ユーザーにとって必須のツールとなっています。

ICMP(Internet Control Message Protocol)とは、IPを利用したコンピュー間における通信状態を確認するために使われるプロトコルです。

エラー通知や制御メッセージを転送するためのプロトコルです。

pingコマンドの使い方

pingコマンドは「ping 172.134.0.2」のように疎通を確認したい相手のアドレスを指定して使います。

構文は以下のようになります。

PING [-T] [-A] [-N カウント] [-L サイズ] [-F] [-I TTL] [-V TOS] [-R カウント] [-S カウント] [{-J ホスト・リスト | -K ホスト・リスト}] [-W タイムアウト] [ターゲット名]

pingコマンドの利用例

ネットワーク接続を確認

インターネットに接続されているかどうかを確認するために、pingコマンドを使用します。

ping google.com
LAN内のデバイスを確認

ローカルネットワーク内のデバイスが接続されているかを確認する場合にもpingを使います。

ping 192.168.1.1  # ルータのIPアドレス
応答がない場合のトラブルシューティング

応答がない場合、ネットワークの障害や宛先のデバイスがオフラインである可能性があります。

pingコマンド一覧【オプション】

パラメータ
/t中断されるまでエコー要求メッセージを送信先に送信し続けることを指定する
/a送信先の IP アドレスに対して逆引き名前解決を実行することを指定する
/n <count>送信するエコー要求メッセージの数を指定する。
/l <size>送信するエコー要求メッセージのデータ・フィールドの長さを指定する(規定値は32バイト
/fIPヘッダー内のDon’t Fragmentフラグを1に設定してエコー要求メッセージを送信することを指定する
/ttl <TTL>送信するエコー要求メッセージのIPヘッダー内のTTLフィールドの値を指定する
/v <TOS>送信するエコー要求メッセージのIPヘッダー内のType of Service (TOS)フィールドの値を指定する(規定値は0です)
/r <count>エコー要求メッセージと対応するエコー応答メッセージで使用されたパスを記録するために IP ヘッダーのルート記録オプションを使用することを指定します
/s <count>IPヘッダー内のInternet Timestampオプションを使用して,エコー要求メッセージおよび対応する各ホップのエコー応答メッセージの受信時刻を記録するよう指定する
/j <hostlist>hostlist で指定されている中間宛先のセットについて、エコー要求メッセージで IP ヘッダーの厳密でないソースのルーティングオプションを使用することを指定します
/k <hostlist>hostlist で指定されている中間宛先のセットについて、エコー要求メッセージで IP ヘッダーの厳密なソースのルーティングオプションを使用することを指定します
/w <timeout>受信する特定のエコー要求メッセージに対するエコー応答メッセージを待つ時間 (ミリ秒単位) を指定する
<targetname>ホスト名または変換先の IP アドレスを指定します。

ping Flood攻撃とは?

ICMPを利用した攻撃にping Flood攻撃(ICMP Flood攻撃ともいう)というものがあります。

ping Flood攻撃とは、ボットなどを利用してICMPエコー要求パケットを大量に送り付ける攻撃のことです。

基本情報技術者試験にチャレンジしてみよう

まず以下の2つの問題を解いてみてください。

問1

IPネットワークにおいて,ICMPのエコー要求,エコー応答,到達不能メッセージなどによって,通信相手との接続性を確認するコマンドはどれか。

基本情報技術者試験ドットコムより


ア.arp
イ.echo
ウ.ipconfig
エ.ping
                                平成26年春期 午前問34

問2

TCP/IPネットワークにおいて,ネットワークの疎通確認に使われるものはどれか。

基本情報技術者試験ドットコムより


ア.BOOTP
イ.DHCP
ウ.MIB
エ.ping
                                平成23年秋期 午前問40


問1.解答

ア…arpはARPテーブルを表示したり、エントリを定義するためのコマンドなので誤りです。

イ…echoは引数で与えた文字列を標準出力に出力するコマンドなので誤りです。

ウ…ipconfigは、自分のコンピュータの設定を表示するコマンドなので、誤りです。

エ…pingはIPネットワークにおいて対象の端末にパケットを送信し、正しく届いたかを確認するためのコマンドなので、正解です。


問2.解答

ア…BOOTPはBootstrap Protocolの略で、ネットワークに接続されたクライアントが、IPアドレスやホスト名、サブネットマスク等を自動的に取得するためのプロトコルなので誤りです。

イ…DHCPはDynamic Host Configuration Protocolの略で、TCP/IPで、ネットワークに接続するノードへのIPアドレスの割り当てを自動的に行うプロトコルなので誤りです。

ウ…MBはManagement Information Baseの略で、ネットワーク機器が外部に自分の状態・情報を知らせるために公開している情報のことなので誤りです。

エ…正解です。

まとめ

今回はpingコマンドやping Flood攻撃について解説しました。

重要なコマンドなので使い方などをよく理解しておきましょう。

最後までご精読いただきありがとうございました。

コメント

タイトルとURLをコピーしました