すでにご存じのとおり、ping コマンドは、ピア ホスト/ゲートウェイが到達可能かどうかを調べるために使用されます。
ping は非常に単純なコマンドであり、なぜ 15 個の例が必要なのかを考えている場合は、この記事の残りの部分をお読みください。
Ping コマンドは、あなたがすでに知っているよりも多くのオプションを提供します。
Ping の例 1. パケット間の時間間隔を増減する
デフォルトでは、ping は次のパケットを送信する前に 1 秒間待機します。以下に示すように、オプション -i を使用してこれを増減できます。
Ping 時間間隔を増やす
例:次のパケットを送信する前に 5 秒間待ちます。
$ ping -i 5 IP
Ping の時間間隔を減らす
例:次のパケットを送信する前に 0.1 秒待ちます。
# ping -i 0.1 IP
注: 0.2 秒未満の間隔を指定できるのは、スーパー ユーザーだけです。そうでない場合は、次のエラー メッセージが表示されます。
$ ping -i 0.1 127.0.0.1 PING 0 (127.0.0.1) 56(84) bytes of data. ping: cannot flood; minimal interval, allowed for user, is 200ms
Ping の例 2. ローカル ネットワーク インターフェースが稼働しているかどうかを確認する
ピア マシンが到達可能かどうかを確認する前に、まず次の 3 つの方法のいずれかを使用して、ローカル ネットワーク ネットワークが稼働しているかどうかを確認してください。
ゼロ (0) を使用して localhost に ping する
これはおそらく、ローカル ホストに ping を送信する最も簡単で簡単な方法です
$ ping 0 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.024 ms ^C
名前を使用して localhost に ping を実行
$ ping localhost PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.051 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.055 ms ^C --- localhost ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms
ip を使用して localhost に ping を実行
$ ping 127.0.0.1
ping コマンドを終了するには、CTRL+C を押して SIGINT シグナルを送信します。 ping を自動的に終了させるオプションを指定していない場合は、CTRL+C ( SIGINT ) を使用して終了し、統計を表示してから ping プロセスを終了します。すべてが正常に機能している場合、「0% パケット損失」と表示されます
2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms
Ping の例 3. N パケットを送信して停止
-c オプションで指定された N 個のパケットを送信して停止します。このようにして、CTRL+C を押して終了する代わりに、ping コマンドを自動的に終了できます。
次の例では、ping コマンドは 5 つのパケットを送信し、宛先ホストからの応答を待ちます。 Ping は、応答またはエラーを受信した後に終了します。
$ ping -c 5 google.com PING google.com (74.125.45.100) 56(84) bytes of data. 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=44 time=731 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=2 ttl=44 time=777 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=3 ttl=44 time=838 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=4 ttl=44 time=976 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=5 ttl=44 time=1071 ms --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4216ms rtt min/avg/max/mdev = 731.039/879.129/1071.050/126.625 ms
Ping の例 4. バージョンを表示して終了
-V オプションを使用して、ping プログラムの現在のバージョンを表示します。
$ ping -V ping utility, iputils-sss20071127
Ping の例 5. ネットワークをフラッディングする
スーパー ユーザーは、-f オプションを使用して、毎秒 100 以上のパケットを送信できます。パケットが送信されると「.」が出力され、パケットが受信されるとバックスペースが出力されます。
以下に示すように、ping -f は数秒間で 400,000 を超えるパケットを送信しました。
# ping -f localhost PING localhost (127.0.0.1) 56(84) bytes of data. .^C --- localhost ping statistics --- 427412 packets transmitted, 427412 received, 0% packet loss, time 10941ms rtt min/avg/max/mdev = 0.003/0.004/1.004/0.002 ms, ipg/ewma 0.025/0.004 ms
ping の例 6. ping の音:ピアに到達できるとビープ音を鳴らす
このオプションは、トラブルシューティング時にシステム管理者に役立ちます。変更のたびに ping の出力を確認する必要はありません。変更の作業を続行できます。リモート マシンに到達できるようになると、ビープ音が自動的に聞こえます。
$ ping -a IP
注: 端末番号 1 から 7 および gnome-terminal からのみビープ音を鳴らすことができます (コンソールでは動作しません)。
Ping の例 7. IP アドレスを調べる
以下に示すように、ホスト名を使用して IP アドレスを識別できます。
$ ping -c 1 google.com PING google.com (74.125.67.100) 56(84) bytes of data. 64 bytes from gw-in-f100.google.com (74.125.67.100): icmp_seq=1 ttl=43 time=287 ms --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 287.903/287.903/287.903/0.000 ms
Ping の例 8. Ping コマンドの要約統計のみを出力する
以下に示すように、オプション -q を使用して、ping 統計の概要のみを表示します。
$ ping -c 5 -q 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. --- 127.0.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3998ms rtt min/avg/max/mdev = 0.047/0.053/0.061/0.009 ms
Ping の例 9. Ping パケット サイズの変更
-s オプションを使用して、ping コマンドのパケット サイズを変更できます。
例:デフォルトのパケット サイズを 56 から 100 に変更します。
$ ping -s 100 localhost PING localhost (127.0.0.1) 100(128) bytes of data. 108 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.022 ms 108 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.021 ms 108 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.020 ms ^C --- localhost ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.020/0.021/0.022/0.000 ms
Ping パケット サイズ
上記の例では、パケット サイズを 100 に設定すると、出力に「128 バイト」と表示されます。これは、Ping パケットのヘッダー サイズが 28 バイトであるためです。したがって、パケット サイズを 100 に指定すると、それにヘッダー用の 28 バイトが追加され、128 バイトが送信されます。
送信された Ping バイト数 =Ping パケット サイズ + Ping ヘッダー パケット サイズ (28 バイト)
Ping の例 10.タイムアウト -w
Ping -w オプションは、ping 出力を終了する期限を指定します。これは、ping コマンドがパケットをリモート ホストに送信する合計秒数を指定します。
次の例では、5 秒間 ping を実行します。つまり、ping コマンドは、送受信されるパケットの数に関係なく、5 秒後に終了します。
$ ping -w 5 localhost
注: -w と -c の両方を指定すると、最初に指定した方が ping コマンドを終了します。
ping の例 11. オンライン ping
さまざまな場所から ping を実行し、さまざまな場所からサーバーの到達可能性 (可用性または到達時間) を確認します。
オンラインで ping を実行したい場合は、単に ping を実行してみてください。
Ping の例 12。オプション -w または -c は Ping を終了します
$ ping -c 4 0 -w 2 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.064 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.058 ms --- 0 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.058/0.060/0.064/0.009 ms $ ping -c 4 0 -w 10 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.063 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.055 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.061 ms --- 0 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2997ms rtt min/avg/max/mdev = 0.055/0.059/0.063/0.009 ms
Ping の例 13. SIGQUIT を使用した短い統計
ping が個々のパケットのステータスを出力している間に、短い統計情報を表示したい場合は、この手法を使用できます。
CTRL+| を押す (コントロール キーの後にパイプ記号が続く) は、その間に要約を表示し、パケットの送受信プロセスを続行します。
$ ping -w 100 localhost PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.021 ms 64 bytes from localhost (127.0.0.1): icmp_seq=11 ttl=64 time=0.022 ms 11/11 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms 64 bytes from localhost (127.0.0.1): icmp_seq=12 ttl=64 time=0.021 ms 64 bytes from localhost (127.0.0.1): icmp_seq=13 ttl=64 time=0.022 ms 64 bytes from localhost (127.0.0.1): icmp_seq=14 ttl=64 time=0.021 ms 64 bytes from localhost (127.0.0.1): icmp_seq=15 ttl=64 time=0.021 ms 19/19 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms 64 bytes from localhost (127.0.0.1): icmp_seq=31 ttl=64 time=0.022 ms 64 bytes from localhost (127.0.0.1): icmp_seq=32 ttl=64 time=0.022 ms 32/32 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.027 ms 64 bytes from localhost (127.0.0.1): icmp_seq=33 ttl=64 time=0.023 ms ..
ping の例 14. パケットを送信する ping のパスを指定
また、ping がパケットを宛先に送信するパスを指定することもできます。
$ ping hop1 hop2 hop3 .. hopN destination
$ ping 192.168.3.33 192.168.7.1 192.168.4.45
注: パス内のホップの 1 つに到達できない場合、ping に失敗します。
Ping の例 15. ECHO_REQUEST の送信方法と ECHO_REPLY の受信方法の記録と印刷ルート
パケットが送受信されるネットワーク ルートを記録し、出力します。これは、パケットの送受信方法を知りたいネットワーク エンジニアに役立ちます。
$ ping -R 192.168.1.63 PING 192.168.1.63 (192.168.1.63) 56(84) bytes of data. 64 bytes from 192.168.1.63: icmp_seq=1 ttl=61 time=2.05 ms RR: 192.168.9.118 192.168.3.25 192.168.10.35 192.168.1.26 192.168.1.63 192.168.1.63 192.168.10.4 192.168.3.10 192.168.4.25 64 bytes from 192.168.1.63: icmp_seq=2 ttl=61 time=2.00 ms (same route)