【 ping 】コマンド/【 ping6 】コマンド――通信相手にパケットを送って応答を調べるLinux基本コマンドTips(143)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、通信したい相手に小さなパケットを送って応答を調べる「ping」コマンドと「ping6」コマンドです。

» 2017年09月14日 05時00分 公開
[西村めぐみ@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、通信したい相手に小さなパケットを送って応答を調べる「ping」コマンドと「ping6」コマンドです。

pingコマンドとは?

 pingコマンドは指定したホストとの間でネットワークが疎通(そつう)しているかどうかを調べるコマンドです。

 「ping IPアドレス」または「ping ホスト名」を実行すると、サイズの小さなパケットを相手に送信し、応答を調べます。ネットワーク接続に問題がありそうな時、現在の状態を知る手掛かりになります。「ping6」はIPv6用で、「ping -6」と同じ動作です。



pingコマンドの書式

ping [オプション] 通信相手

ping6コマンドの書式

ping6 [オプション] 通信相手

※[ ]は省略可能な引数を示しています。




pingの主なオプション(回数や表示内容など)

オプション 意味
-4 IPv4を使用する(pingコマンドのデフォルト)
-6 IPv6を使用する(ping6コマンドのデフォルト)
-c 回数 パケットを送る回数
-i 秒数 個々の送信の後に待つ秒数(デフォルトは1秒)
-w 秒数 状況を問わず、pingコマンドの実行を指定した秒数で終わらせる
-n 数値出力のみを行う(IPアドレスからホスト名を検索しない)
-q 開始と終了時の要約のみで他は表示しない(quiet)
-v 詳細な出力を行う(verbose)

pingの主なオプション(テスト方法など)

オプション 意味
-d 使用するソケットにデバッグオプションを設定する
-p パターン 送出するパケットを埋める値をパターンで指定する。「-p ff」とすると全て1で埋めたパケットを送信する
-s サイズ 送出するパケットのサイズを指定する(デフォルトは56バイト+ICMPヘッダ8バイト=合計64バイト)
-R 経路を記録する
-r 通常のルーティングを無視して接続する
-I インタフェース 指定したインタフェースからマルチキャストパケットを送る
-L マルチキャストパケットのループバックを抑制する
-t TTL値 マルチキャストパケットのIP寿命(Time To Live)を設定する


接続相手を指定して応答を調べる

 Webページが表示されないときや、NASに接続できないときなど、ネットワーク回りにトラブルがあった際に、「相手と通信ができているか」を調べるためにpingコマンドを使います。

 例えば、NASに接続できない場合に「ping ホスト名」で応答がないものの、「ping IPアドレス」で応答がある場合は、名前解決がうまくいっていないと分かります。応答時間がいつもよりかかっている場合、他の相手とはどうなのか? こうやって調べていくと、問題をある程度切り分けることができるでしょう ※1。

※1 相手がそもそもpingに対し応答しない設定になっている場合は、別の手段を考える必要がある。



 pingを実行するとデフォルトでは1秒間隔で相手にパケットを送り、応答を表示します。[CTRL]+[C]で終了します。終了時に送信したパケット数や、疎通に成功した比率などを表示します。

コマンド実行例

ping 192.168.2.1

(IPアドレス192.168.2.1に対して検査用パケットを送信する)

ping www.google.co.jp

(www.google.co.jpに対して検査用パケットを送信する)(画面1画面2


画面1 画面1 pingコマンド実行時に応答があった例
画面2 画面2 pingコマンド実行時に応答がなかった例


一定の回数や時間でpingを終了させる

 「-c 回数」でパケットを送る回数を指定します。例えば、「ping -c 4 ホスト名」ではパケットを4回送って終了します。

 「-w 秒数」を指定すると、応答があるかどうかにかかわらず、指定した時間が経過したらpingを終了します。

コマンド実行例

ping -c 4 192.168.2.1

(4回パケットを送ったら終了する)(画面3

ping -w 10 192.168.1.1

(応答があってもなくても開始して10秒たったら終了する)(画面4


画面3 画面3 送信するパケットの数を指定したところ
画面4 画面4 送信する時間を指定したところ


IPv6で応答を調べる

 IPv6を用いた確認もできます。「ping6 相手先」または「ping -6 相手先」とします。オプションはpingと同じです。

コマンド実行例

ping6 www.google.co.jp

(IPv6で応答を調べる)

ping6 -n www.google.co.jp

(IPv6で応答を調べる、名前解決は行わない)(画面5


画面5 画面5 IPv6を用いてpingを実行したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。