普通にpingを実行すれば疎通確認はできますが、オプションをうまく使うと挙動をカスタマイズすることができます。というわけで、pingに関する小ネタ。 lvh.meの部分はlocalhostでやってみてもいいです。
ping回数を指定するには-cオプションで回数を指定します。
$ ping lvh.me -c 3
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.043 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.058 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.060 ms
--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.043/0.053/0.060/0.011 ms
ping間隔を指定するするには-iオプションを指定します。
$ ping lvh.me -c 3 -i 0.5
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.040 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.051 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.038 ms
--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.038/0.043/0.051/0.005 ms
ping間隔0.2秒以下はrootでなければ使えないように一応安全ロックがかかっています。
$ ping lvh.me -c 3 -i 0.1
PING localhost (127.0.0.1) 56(84) bytes of data.
ping: cannot flood; minimal interval, allowed for user, is 200ms
ping間隔を0.2秒以下にするにはsudoで実行します。
$ sudo ping lvh.me -c 3 -i 0.1
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.060 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.054 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.054 ms
--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 200ms
rtt min/avg/max/mdev = 0.054/0.056/0.060/0.003 ms
さらに-fオプションをつけるとping flood攻撃と同じようにpingの戻りを気にせずpingを打ちます。 -cオプションで回数指定をしておかないとものすごい数のpingを飛ばしてしまうことになってしまうので、絶対によそのサーバに対してはやめましょう。会社内などでも絶対にやめましょう。
$ sudo ping lvh.me -c 3 -f
PING localhost (127.0.0.1) 56(84) bytes of data.
--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.013/0.027/0.045/0.013 ms, ipg/ewma 0.151/0.038 ms
わたしはiptablesのping flood対策がうまく動いているかどうかを確認するときに使ったりします。
試しに-c指定せずに手元の環境でやってみたら2秒強で10万pingとか投げてますのでご注意を。