LinuxでPingを使う:チュートリアル、例題、解説

ページ名:LinuxでPingを使う_チュートリアル_例題_解説

pingコマンドは、Linuxでネットワーク速度や接続性の問題をトラブルシューティングしたりテストしたりするのに非常に役立つ。Pingは、IPアドレスやホスト名に対してデータのパケットを送信し、応答を受信するまでの時間を報告することで動作する。Pingテストの結果を使って、サイトやサーバーに到達可能かどうか、到達可能な場合はパケットロスで速度が低下していないかどうかを調べることができます。この wikiHow のチュートリアルでは、Linux ターミナルで ping コマンドを実行する方法と、ping の結果と統計情報を理解する方法を説明します。

知っておくべきこと

  • pingの基本構文はping <ip address>で、<ip address>は他のデバイスのアドレスです。
  • iPv4アドレスの代わりにiPv6 IPアドレスにpingを打つには、ping -6 <ip address>を使います。
  • "Destination host unreachable "は、ホストがダウンしているか、Linuxコンピュータからそのホストへのルートがないことを意味します。
  • "Request timed out "は、リモートコンピュータやネットワークに問題があることを示すこともありますが、ファイアウォールが接続をブロックしていることを意味することもあります。

Pingの仕組み

  1. pingコマンドは、サーバーやホストに小さなデータパケットを送信し、応答を待つことで動作します。ネットワーク上の別のコンピューター、ウェブサイト、プリンター、スマートフォンなど、ホスト名やIPアドレスを持つインターネット上のあらゆる場所にpingを送ることができます。pingで送信されるパケットには、ICMP ECHO_REQUESTが含まれます。これは基本的に、"これを受信したら返信してください "というリクエストです。
  2. ホストはpingリクエストを受け取ると、エコーパケットで返信します。これらの返信には、各パケットが宛先に到達するまでにかかった時間や、途中でパケットが失われたかどうかなど、役立つ情報がたくさん含まれています。この情報は、ネットワークの問題を診断するのに非常に役立ちます。

Pingの打ち方

  1. ターミナル・ウィンドウを開く。Linuxのほとんどのバージョンで、Ctr + Alt + Tを押すことでこの操作を行うことができます。
  2. 基本的なpingを実行する。プロンプトでpingと入力し、その後にテストしたいホスト名またはドメイン名を入力します。Enterを押すと、エコーされた結果が個々のエントリとして表示されます。
    • 基本的なpingの例
      • Facebookのようなウェブサイトにpingを打つには、ping www.facebook.com または ping facebook.comと入力します。
      • 10.0.0.1などのIPv4 IPアドレスにpingを打つには、ping 10.0.0.1と入力します。
      • IPv6 IPアドレスにpingを打つには、-6オプションを追加します。フェイスブックのIPv6アドレスにpingを打つには、ping -6 2a03:2880:f02c:13:face:b00c:0:3と打つ。
      • 自分のコンピューター(localhost)にpingを打って、ネットワーク・アダプターが正常に動作していることを確認することもできます。これを行うには、ping localhostまたはping 127.0.0.1を使います。
      • pingの例については、.
  3. Ctrl+Cでpingを停止します。Linuxでは、このキーボード・ショートカットで処理を停止するまで、pingコマンドはエコーの結果を表示し続ける。pingを停止すると、プロンプトのすぐ上にpingの統計情報が表示されます。

Pingの結果を理解する

  1. pingの統計情報を確認します。pingの返信の一番下に、"(ホストまたはIP) ping statistics "というセクションがあります。Linuxでは、このセクションに以下のような役立つ情報があります:
    • 送信パケットと受信パケット。例えば、15個のパケットを送信した後にpingを止めた場合、"15 packets transmitted "と表示され、その後にホストが受信したパケット数が表示されます。
      • 送信したパケットを受信していない場合は、パケットロスを示しています。パケットの一部が失われると、コンピュータとホスト間の接続が遅くなったり、一貫性がなくなったりします。たとえば、ゲームや.NET接続でラグが発生します。
    • パケットロスの割合。例えば、パケットが1つもホストに受信されなかった場合、リプライに「100% packet loss」と表示されます。4つのうち2つが受信された場合、"50%パケットロス "と表示されます。
      • パケットロスは、ネットワークの輻輳、ルーターの問題、ネットワークのハードウェアの問題、リモートサーバーの設定の問題など、さまざまなことが原因で発生します。
      • 100%のパケットが失われた場合、実際には問題がない可能性があります。サーバーの中には、pingフラッディングを避けるためのセキュリティ対策として、ICMPパケットを破棄するものもあります。
    • ラウンド・トリップ・タイム(RTT)。これは、各パケットがホストに送信されるのにかかった時間と、Linuxが応答を受信するのにかかった時間をミリ秒(MS)で表したものです。
      • RTT は複数の値で表示されます:最小 RTT(最も短い時間)、平均 RTT、最大 RTT(最も長い時間)、そして MDEV RTT()です。 また、"time" 値も表示され、プロセスの開始から終了までにかかった時間の合計がわかります。
  2. pingエラーを解釈する。サーバーにpingを打っていると、以下のようなエラーが発生することがあります:
    • Unknown host(不明なホスト):解決できないホスト名やドメイン名をpingしようとしている場合、このエラーが表示されます。これは、ホストやドメインが存在しないことを意味するだけでなく、.NET Frameworkでその名前をIPアドレスに変換できないことを意味する場合もあります。
    • 宛先ホストに到達できません:このエラーは、あなたのコンピュータがそのアドレスにパケットを送信できなかったことを意味します。これは、あなたのネットワークに問題があるか、あなたのネットワークとリモートホストの間のインターネット上のどこかに問題がある可能性があります。
    • リクエストがタイムアウトしました:この場合、問題は間違いなくあなたのコンピュータやネットワークには関係ありません。あなたのコンピューターはpingリクエストを送信しましたが、応答を受信しませんでした。ホストがオンラインでないか、ホスト側でネットワークに問題があるか、.NET Frameworkによってpingがブロックされている可能性があります。
    • Name or service not known: このエラーは、pingを送ろうとしているホスト名またはアドレスが存在しないことを意味します。ホストが存在する場合は、ネットワーク設定に問題があります。

高度なPingの例

  1. 送信するパケット数を指定します。基本的なpingの実行でご存知のように、LinuxはCtrl + Cキーを押してpingを停止するまで、繰り返し宛先にpingを送信します。
    • 例えば、facebook.comに5パケット送るには、ping -c 5 facebook.comとする。pingは5つのパケットを送信すると勝手に停止し、結果を報告する。
    • 別の方法として、-wオプションを使えば、パケット数を指定する代わりに、何秒後にpingを停止するかを指定できる。例えば、フェイスブックに10秒間pingを打ち、その結果を表示するには、ping -w 10 facebook.comとする。
  2. パケットの間隔を変更する。デフォルトでは、pingは各パケット送信の間に1秒待ちます。パケットを送信する間隔を長くしたり短くしたりしたい場合は、pingで-iオプションを使うことができる。
    • フェイスブックへのpingでパケット間の待ち時間を3秒にするには、ping -i 3 facebook.comとします。
    • 待ち時間を1秒の半分に減らすには、ping -i 0.5 facebook.comとします。
  3. パケットのサイズを変更する。デフォルトでは、pingパケットは56バイトで、これは実際には64ICMPデータ・バイトに相当する。 sオプションを使えば、より大きなパケットや小さなパケットを送ることができる。
    • 例えば、自分のネットワークでパフォーマンスの問題が発生している場合、より大きなパケットを送信して、トラフィックが制限されているかどうかを確認することができます。デフォルトではなく1000バイトを送るには、ping -s 1000 facebook.comを使う。
  4. pingフラッドを実行して、ネットワークのパフォーマンスをテストする。高負荷時のネットワークのパフォーマンスを確認するのに最適な方法は、ネットワーク上のデバイスにpingリクエストを「殺到」させることです。これは、返ってくるパケットと同じ速さか、1秒間に100回のどちらか多いほうのパケットを出力するもので、-fオプションを使って行うことができる。
    • pingの洪水はネットワークに過負荷をかける可能性があるため、慎重に行うこと。
    • pingフラッドを実行する必要があるため、コマンドの前にsudoを付ける必要がある。
    • フラッドpingを実行するには、sudo ping -f <ホスト名>を使う。
  5. ホストに到達できたときに音を出す。ホストをテストしていて、ホストが再び到達可能になるまで継続的にpingを実行したい場合は、-aオプションを使うことができる。
    • 例えば、ローカルIPアドレス10.0.0.2が到達不能で、いつ復旧するかを知りたい場合、ping -a 10.0.0.2を使う。ホストに到達可能になると、pingは正常に実行され、出力が表示される。
  6. ライブエコーの応答はスキップして、サマリーだけを表示する。pingのライブ結果を見たくなく、統計だけが必要な場合は、-qコマンドを使うことができる。例えば、ping -q facebook.comとします。
    • ただし、Ctrl + Cを押すまで統計情報はまったく表示されない。このため、通常は-qを送信するパケット数の指定と組み合わせて使うことになる。qを使うより良い方法は、-cフラグを使うことで、送信するパケット数を指定することができる。例えば
      • ping -c 5 -q facebook.com.
      • この例では、フェイスブックだけに5パケットのデータを送信します。パケットを送信し、エコーを受信すると、統計が表示される。
この記事は、" Use Ping in Linux: この記事は、CC BY-NC-SAの下で公開されている " Tutorial, Examples, & Interpreting Results " を改変して作成した。特に断りのない限り、CC BY-NC-SAの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧