GNU/Linux >> Linux の 問題 >  >> Linux

Ping チュートリアル:15 の効果的な Ping コマンドの例

すでにご存じのとおり、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)

Linux
  1. 初心者向けのLinuxcdコマンドチュートリアル(8例)

  2. 初心者向けのLinux日付コマンドチュートリアル(8例)

  3. Linux での ping コマンドの例

  1. 例を含むLinuxPingコマンドチュートリアル

  2. 例を使用したBashヒアドキュメントチュートリアル

  3. LinuxでのPingコマンド

  1. 初心者向けのLinux通信コマンドチュートリアル(5例)

  2. 初心者向けのLinuxdfコマンドチュートリアル(8例)

  3. 初心者向けのLinuxduコマンドチュートリアル(10例)