【Linux】pingコマンドの詳細説明

目次

1.pingの概要

2. Pingの使用法

3. pingパラメータの詳細説明

4. 使用する

5. Wireshark は ICMP 要求応答メッセージをキャプチャします


1.pingの概要


ping コマンドは、ターゲット ホストへの接続をテストするために使用されます。ICMP (インターネット制御メッセージ プロトコル) インターネット制御メッセージ プロトコル エコー要求をターゲット ホストに送信し、その応答を待ちます。ターゲット ホストが正常に機能しており、接続が開いている場合は、エコー応答を受け取ります。応答を受け取らない場合は、何か問題があり、さらなるトラブルシューティングが必要です。Ping を使用すると、ローカル マシンとターゲット ホストが接続されているかどうか、接続の速度、安定性をテストできます。

ping コマンドを使用して次のことを行います。

1. ネットワーク接続の問題を検出する: Web サイトまたはホストにアクセスできない場合は、ping コマンドを使用してネットワーク接続が正常かどうかを検出できます。ping コマンドがターゲット ホストからの応答を正常に受信できた場合は、ネットワーク接続が正常であることを意味し、応答を受信できない場合は、ネットワーク障害が発生しているか、ターゲット ホストに到達できない可能性があります。

2. ネットワーク遅延の測定: ping コマンドを使用して、ネットワーク遅延、つまり ICMP 要求を送信してから応答を受信するまでにかかる時間を測定できます。ping コマンドの -c オプションを使用して、送信される ICMP リクエストの数を指定し、平均遅延時間を計算できます。遅延が長くなるとネットワーク接続が遅くなる可能性があり、ネットワーク問題のさらなるトラブルシューティングが必要になります。

3. パケット損失率の検出: ping コマンドを使用して、ネットワーク パケット損失率 (送信された ICMP 要求のうち送信中に失われた割合) を検出することもできます。ping コマンドの出力でパケット損失率フィールドを確認できます。パケット損失率が高い場合は、ネットワークの輻輳またはターゲット ホストの負荷が高すぎることが原因である可能性があります。


2. Pingの使用法


ping コマンドはコマンド プロンプト ターミナルで実行され、使用方法は「ping パラメータ ターゲット ホスト」です。パラメータの範囲は 0 からそれ以上で、ターゲット ホストは IP 名またはドメイン名になります。

[root@hdp105 ~]# ping  --help
ping: invalid option -- '-'
Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface]
            [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
            [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
            [-w deadline] [-W timeout] [hop1 ...] destination
Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
             [-l preload] [-m mark] [-M pmtudisc_option]
             [-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize]
             [-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline]
             [-W timeout] destination
[root@hdp105 ~]# 

たとえば、ホスト hdp105 への接続をテストする場合は、次のコマンドを使用できます。

ping hdp105

Ping コマンドは、ICMP データグラムをターゲット IP に継続的に送信することを示しています。上のスクリーンショットの各行は、次のような ICMP からの応答メッセージを表しています。

  • icmp_seq: ICMP パケットのシーケンス番号。1 から増加します。途中で連続性がない場合、パケット損失を意味します。
  • ttl: 生存時間。特に、データ パケットが通過できるルーターまたはホップの数を指します。データ パケットがルーターを通過するたびに、ttl は 1 ずつ減ります。ttl が 0 に戻ると、生成サイクルはゼロになります。このデータ パケットの処理が終了すると、それを処理するルータはこのパケットをドロップします。デフォルトでは、Linux システムの TTL 値は 64 または 255 です。
  • time: このデータグラムの応答時間で、時間が短いほど応答速度が速くなります。

次に、合計 12 個のデータグラムが配信され、すべて受信され、パケットの損失はなかったという統計があります。最後の行は、最小/最大/平均応答時間とネイティブ ハードウェア経過時間です。


3. pingパラメータの詳細説明


パラメータ

詳しい説明

-a

ピンという音が聞こえます。

-A

アダプティブ ping は、ping パケットの往復時間に基づいて ping 速度を決定します。

-c カウント

指定した回数だけ ping を実行したら、ping を停止します。

-i 間隔

ping パケットを送信する間隔を数秒に設定します。デフォルトでは、1 秒に 1 回 ping が送信されます。

-Iインターフェース

データ パケットを送信するには、ネットワーク カード インターフェイスまたは指定されたローカル アドレスを指定します。

-l プリロード

必要な情報を送信する前に、送信するデータ パケットを設定します。

-p パターン

ping パケットに記入される 16 進数の内容を指定します。このオプションは、「-p ff」などのデータに関連するネットワーク エラーを診断するときに非常に役立ちます。

-q

送信されたパケット情報は表示せず、最終結果のみを表示します

-Q 咳

ICMP データグラムの関連ビットである Qos (Quality of Service) を設定します。10 進数または 16 進数を指定できます。詳細については、rfc1349 および rfc2474 のドキュメントを参照してください。

-R

ping のルーティング プロセスを記録します (IPv4 のみ);
注: IP ヘッダーの制限により、最大 9 ルートのみを記録でき、その他は無視されます。

-r

通常、ローカル ネットワーク インターフェイスに問題があるかどうかを確認するために、通常のルーティング テーブルを無視してデータ パケットをリモート ホストに直接送信します。ホストがネットワークに直接接続されていない場合は、エラーが返されます。

-S sndbuf

ソケットの sndbuf を設定します。指定しない場合は、1 つのパケットのみをバッファすることが選択されます。

-s パケットサイズ

各 ping で送信されるデータ バイト数を指定します。デフォルトは、「56 バイト」 + 「28 バイト」の ICMP ヘッダー、合計 84 バイトです。ヘッダー + コンテンツは 65535 を超えることはできないため、最大値は 65507 (Linux
) : 65507 、ウィンドウ:65500);

-t ttl

TTL (Time To Live) を指定した値に設定します。このフィールドは、ルーターによって破棄される前に IP パケットが通過できるネットワーク セグメントの最大数を指定します。

-T タイムスタンプ_オプション

IP タイムスタンプ オプションを次のいずれかに設定します:
'tsonly' (タイムスタンプのみ)
'tsandaddr' (タイムスタンプとアドレス)
'tsprespec host1 [host2 [host3]]' (タイムスタンプの事前指定ホップ)。

-M ヒント

MTU (最大伝送単位) フラグメンテーション ポリシーを設定します。
次のように設定できます:
「do」: パケットが破棄された場合でもフラグメント化を無効にします。
「want」: パケットが大きすぎる場合にフラグメント化します。
「dont」: フラグメント化フラグ (DF フラグ) を設定しません。

-mマーク

マークを設定します。

-v

ping を冗長モードに設定すると、ping コマンドで ECHO-RESPONSE パケットに加えて返されたすべての ICMP パケットを出力する必要があります。

-W タイムアウト

ping タイムアウトをミリ秒単位で設定します。

-w 期限

締め切り;

ping の一般的なコマンド オプション:

-c count:送信される ICMP リクエストの数を指定します。デフォルトは無制限です。

-i 間隔: ICMP リクエストを送信する時間間隔を指定します。デフォルトは 1 秒です。

-s packetsize:送信される ICMP リクエストのパケット サイズを指定します。デフォルトは 56 バイトです。

-W timeout: ICMP 応答を待機するタイムアウト時間を指定します。デフォルトは 10 秒です。


4. 使用する


1. 通常のアクセスドメイン名、間違ったドメイン名、到達不能なIPに対して合計5回pingを実行します。

上記と同様に、到達できない IP およびドメイン名に対してはエラーが返されます。

2. 大きなパケットを使用した非常に高速な ping
最大のパケットを使用して最速の速度でping を実行し、ターゲット ホストの耐圧能力をテストするために使用できます。

注: 65535 (パケット ヘッダー + コンテンツ) * 1 秒あたり 100 パケット = 6.25MB。1 秒あたり 6.25MB のデータが送信され、これは 50Mbps の帯域幅に相当し、ターゲット ホストがサービスを完全に拒否する可能性があります。慎重に使用してください。

3. Ping は、サイズ 1024 のパケットを 5 秒ごとに、合計 5 回送信します。

ping -c 5 -i 3  -s 1024 192.168.2.155

図に示すように、送信されたパケットのサイズはデフォルトの 64 バイトではなくなり、設定された 1024 バイトではなくなりました。これはピア ホストから返されたパケットであるためです。前の行では、送信したパケット サイズが「1024 (1052)」とマークされています。

3. ping はサイズ 1024 のパケットを 1 秒間隔で送信し、3 秒後に ping を停止します。

 ping -w 3 -i 1  -s 1024 192.168.2.155

4. ping プロセス中のルーティング情報を記録する-R オプション パラメータの実装

「経路記録」フィールドに送信データパケットと戻りデータパケットの経路を記録し、通過した経路の数を検出しますが、追跡できる経路は最大で 9 経路のみです。

ping -c 1   -R www.baidu.com


5. Wireshark は ICMP 要求応答メッセージをキャプチャします


Wireshark のパケット インターフェイスに表示フィルターを入力して実行し、ping Baidu を選択します。

ボックスに表示フィルタを入力してデータを検索します プロトコルに応じてパケットをフィルタリングすることもできます ip.addr == 110.242.68.3と入力してキャプチャを開始しました Baiduにpingを開始すると、次のキャプチャ情報が出力されました:

ICMP エコー要求メッセージ

ICMP エコー要求メッセージ


一般的に使用される Linux ネットワーク コマンドのまとめ - Change-Blog Park

Linux で一般的に使用されるネットワーク コマンドは何ですか? すぐに始めましょう!

Linuxでよく使われるpingコマンドを詳しく解説 - AiE Family

おすすめ

転載: blog.csdn.net/qq_35995514/article/details/133554181