• このエントリーをはてなブックマークに追加

【linux豆知識】pingのオプション

  • このエントリーをはてなブックマークに追加

ping
zaco muraです。

IT系の仕事についている人であれば必ず使ったことがあるコマンド、それがpingです。ピンって言ったりピングって言ったりする、それがpingです。pingを制する者は世界を制すると言われる、それがpingです。ネットワークの世界はpingに始まりpingに終わると言われている、それがpingで(ry
いろいろ言いましたが、実際よく使うコマンドなんです。

スポンサーリンク
Sponsords Link

pingって?(今更)

言わずもがなですが、ネットワークの疎通確認をするコマンドです。icmpというプロトコルを使っています。IPレイヤ的に繋がっていれば応答が返ってきます。

linuxでのオプション

windowsよりオプションが多い気がします。manページを見れば出てきますが、代表的なのを書いておきます。

送信する回数を指定する : -c

windowsではデフォルト4発ですが、linuxではデフォルトで無制限です。シェルスクリプトなどでは困ってしまうので回数を指定しましょう。

$ ping -c 2 yahoo.co.jp
PING yahoo.co.jp (183.79.135.206) 56(84) bytes of data.
64 bytes from f1.top.vip.kks.yahoo.co.jp (183.79.135.206): icmp_seq=1 ttl=53 time=15.1 ms
64 bytes from f1.top.vip.kks.yahoo.co.jp (183.79.135.206): icmp_seq=2 ttl=53 time=15.1 ms

--- yahoo.co.jp ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1016ms
rtt min/avg/max/mdev = 15.106/15.144/15.182/0.038 ms

パケットのサイズを指定する : -s

デフォルトではヘッダ込みで64byteですが、ペイロードのサイズを変更することができます。
指定するサイズはヘッダを除くサイズなので、実際には8byte足されます。
経路上のMTUに問題がないかを確認する時などに使います。

$ ping -s 1000 yahoo.co.jp 
PING yahoo.co.jp (182.22.59.229) 1000(1028) bytes of data.
1008 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_seq=1 ttl=55 time=4.25 ms
1008 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_seq=2 ttl=55 time=4.42 ms
1008 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_seq=3 ttl=55 time=3.98 ms

DFビットを付ける(フラグメントを禁止させる) : -M do

フラグメント(パケットを分割すること)を拒否するオプションです。先ほどのサイズ指定と合わせてMTUのチェックに使います。
DFビットについて知りたい人はgoogle先生に聞きましょう。

$ ping -M do -s 9000 yahoo.co.jp
PING yahoo.co.jp (182.22.59.229) 9000(9028) bytes of data.
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500

※上記はMTU以上のパケットを送ったためエラーになった状態です。

送信するインターフェイスを指定する : -I

複数のNICを持つ端末の場合、どのNICを使うかを指定します。

# ping -I eth0 yahoo.co.jp
PING yahoo.co.jp (183.79.135.206) from 160.16.80.86 eth0: 56(84) bytes of data.
64 bytes from f1.top.vip.kks.yahoo.co.jp (183.79.135.206): icmp_seq=1 ttl=53 time=15.0 ms
64 bytes from f1.top.vip.kks.yahoo.co.jp (183.79.135.206): icmp_seq=2 ttl=53 time=15.2 ms

※rootになる必要があります

名前解決しない : -n

実行結果を表示する時にIPアドレスで表示します。動作が若干軽くなります。

$ ping -n yahoo.co.jp
PING yahoo.co.jp (182.22.59.229) 56(84) bytes of data.
64 bytes from 182.22.59.229: icmp_seq=1 ttl=55 time=3.88 ms
64 bytes from 182.22.59.229: icmp_seq=2 ttl=55 time=4.28 ms

まとめ

ということでlinuxのpingオプションです。こういうのがパッと出てくる人はかっこいい気がしますので覚えときましょう。

スポンサーリンク
Sponsords Link
  • このエントリーをはてなブックマークに追加

ZacoDesign

スポンサーリンク
Sponsords Link