I. pingコマンドの原理と動作メカニズム
- pingコマンドは、一般的にネットワークのパスまたは失敗を検出するために使用され、また、遅延として知られている、値が大きいほど、速度が遅い PING(PacketInternetのロープ)、インターネットパケットエクスプローラ、ネットワーク接続手順の量をテストするために使用されます。
- ping は、ICMP エコー要求メッセージを宛先に送信し、目的の ICMP エコー応答を受信したかどうかを報告します。これは、ネットワークが開いているかどうかや、ネットワーク接続の速度を確認するために使用されるコマンドです。
- 原理:ネットワーク上のマシンは、一意に決定されたIPアドレスを持って、ターゲットのIPアドレスにパケットを送信し、他の当事者は、返されたパケットによると、ターゲットホストの存在を決定することができ、同じサイズのパケットを返す必要があります最初にターゲットホストのオペレーティングシステムなどを決定することができます。
II.pingのワークフロー
-同一ネットワークセグメント内
- ピン
- ホスト A ---------------------> ホスト B
- ICMPリクエストパケット
- ローカルARPキャッシュテーブルでホストBのIPと対応するMACを検索します。
- ホストBのIPとそのMACのマッピングが見つかりません。
- ホストBはarpリクエストパケットを受信し、以下のarpリプライパケットで返信します。
-ホストA <----------------------ホストB
- ICMP応答パケット
-同じネットワークセグメント内にない
-ホストAで "ping host C (not in the same network segment) "を実行すると、上記と同じように始まり、MACアドレスの取得方法に関しては、IPプロトコルは計算によってマシンCが自身と同じネットワークセグメントにないことを発見し、直接経路に引き渡す、つまり経路のMACを引き継ぐことになります。経路のMACを取得する方法は上記と同じで、まずARPキャッシュテーブルを見て、見つからなければパケットをブロードキャストします。データフレームを取得した後、ルートはホストCに照会、見つからなければタイムアウトメッセージをホストAに返します。
III.pingコマンドの使用
-pingコマンドの一般的な書式は以下の通りです:
-ping [-dfnqrRv][-c send count][-i interval seconds][-I web interface][-l preload][-p sample style] [-s packet size][-t survival value][ホスト名またはIPアドレス]。
パラメータの説明
-c count は、Count 変数で示されるように、送信するリターン・シグナル・リクエストの数を指定します。
wタイムアウトオプションは、-cオプションと共にのみ動作します。このオプションを指定すると、pingコマンドは可能な限り長いタイムアウトの間、応答を待ちます。デフォルトのタイムアウトは 4000ms (4s) です。
-ソケットの SO_DEBUG 関数を使用します。
-D このオプションは、ICMP ECHO_REPLYパケットの16進ダンプを標準出力に出力します。
-f flood-pingオプションを指定します。f フラグは、パケットを「ダンプ」して出力します。ECHO_REQUEST を送信するごとにピリオドを、 ECHO_REPLY を受信するごとにバックスペースを出力します。これにより、いくつのパケットがドロップされたかという情報を素早く表示することができます。このオプションを使用できるのは root ユーザだけです。
注:これはネットワーク上では非常に難しいので、注意して使用する必要があります。flood pingコマンドはrootユーザーのみが使用できます。fフラグは-i Waitフラグと互換性がありません。
-n 数値のみを出力します。
-r ルーティングテーブルを無視し、パケットを直接リモートホストに送ります。通常、ローカルのネットワークインターフェイスに問題があるかどうかを確認します。
-R はルーティング処理を記録します。R フラグは、ECHO_REQUEST 情報パケットに RECORD_ROUTE オプションを含み、 返り情報パケットにルーティング・バッファを表示します。
-v 命令の実行を詳細に表示します。
-i wait は、各パケット間でWait変数で指定された時間だけ待ちます。デフォルトは、送信される各情報パケット間で1秒待機します。このオプションは、-fフラグとは互換性がありません。
-Ia.b.c.dは、a.b.c.dでマークされたインターフェイスがIPv4マルチポイント・ブロードキャストの送信に使用されることを指定します。I フラグは大文字の i です。
-lPreloadは、通常の動作モードに入る前に、できるだけ早く、Preload変数で指定された数の情報パケットを送信します。lフラグは小文字のLです。
-ping コマンドはローカルリターンを無効にします。
pPatternは、送信するパケットを埋めるために最大16個の「パディング」バイトを使うように指定します。これは、ネットワーク上のデータに依存する問題を診断するのに便利です。例えば、"-p ff "はパケットをすべて1で埋めます。
-qは送信パケットに関する情報を表示せず、***の結果のみを表示します。
-プリセット値は56で、これに8バイトのICMPヘッダーを加えた合計64バイトのICMPデータ・バイトを送信します。
-Shostname/IP addrは、送信pingパケットの送信元アドレスとしてIPアドレスを使用します。複数の IP アドレスを持つホストでは、-S フラグを使用することで、パケットを送信するインタフェースの IP アドレス以外のアドレスを送信元アドレスにすることができます。IP アドレスが以下のマシン・インターフェイス・アドレスのいずれかでない場合、エラーが返され、何も送信されません。
-生存値TTLのサイズを設定します。
ointerfaceは、インターフェイスがIPv6マルチポイント・ブロードキャストの送信に使用されることを示します。インターフェースは、"en0"、"tr0 "などで指定します。
使用例
送信するリターン・シグナルのリクエスト数を指定します:
#ping -c 5 172.17.0.254
ドロップされたパケットに関する情報を素早く表示します。
#ping -f 172.17.0.452
各パケットの間にWait変数で指定された時間だけ待ちます。
#ping -i 2 172.17.0.254
IV.PINGテスト
- 1、ローカルIPにping
-#ping 172.17.0.11/127.0.0.1
-
-Pingが機能しない場合は、ネットワークカードのインストールまたは設定に問題があります。ネットワークケーブルを外し、再度このコマンドを実行し、表示が正常であれば、本機のIPアドレスが使用中の他のマシンのIPアドレスと重複している可能性があります。それでも正常に表示されない場合は、本機のネットワークカードのインストールまたは設定に問題があるため、引き続き関連するネットワーク設定を確認する必要があります。
-Ubuntuでの設定ファイルの場所:
-IP] : /etc/network/interfaces
-DNS] : /etc/resolv.conf
-2、pingゲートウェイIP
-#ping 172.17.0.452
-Pingが正常に通れば、LAN内のゲートウェイルーターは正常に動作しています。逆に、ゲートウェイに問題があることを示しています。
- 3. リモートIPにping
-このコマンドは、お使いのマシンがインターネットに正常にアクセスできるかどうかを確認します。
第五に、ネットワーク接続性をテストするために、このコマンドをどのようにPingを使用しますか?
- 接続性の問題は、ローカルの設定エラー、リモートホストのプロトコル障害、そしてもちろん機器などによる障害など、さまざまな原因で発生します。Pingコマンドの使い方から説明しましょう。
-Pingを使用して接続性を確認するには、6つのステップがあります:
-ifconfigを使用して、ローカルネットワークの設定が正しいかどうかを確認します。
-2.Ping127.0.0.1、127.0.0.1リターンアドレスリターンアドレスへのPingは、ローカルのTCP/IPプロトコルが正しく設定されているかを確認するためのものです。
-ローカルIPアドレスが正しく設定されていないか確認するため、ローカルIPアドレスにPingを打ちます。
-4.ローカルネットワークのゲートウェイまたはIPアドレスにPingを打ち、ハードウェア機器に問題がないかを確認するだけでなく、ローカルマシンとローカルネットワークの接続が正常かどうかを確認します。
-5.ローカルのDNSアドレスにPingを打ちます。 これは、DNSがIPを正しく解決できるかどうかを確認するために行います。
-6.リモートIPアドレスのPingは、主にネットワークやマシンと外部との接続が正常かどうかを確認するためのものです。





