490dc00592
Submitted by: koizumistr@minos.ocn.ne.jp Reviewed by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
515 lines
14 KiB
Groff
515 lines
14 KiB
Groff
.\" $KAME: ping6.8,v 1.43 2001/06/28 06:54:29 suz Exp $
|
||
.\"
|
||
.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
||
.\" All rights reserved.
|
||
.\"
|
||
.\" Redistribution and use in source and binary forms, with or without
|
||
.\" modification, are permitted provided that the following conditions
|
||
.\" are met:
|
||
.\" 1. Redistributions of source code must retain the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer.
|
||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer in the
|
||
.\" documentation and/or other materials provided with the distribution.
|
||
.\" 3. Neither the name of the project nor the names of its contributors
|
||
.\" may be used to endorse or promote products derived from this software
|
||
.\" without specific prior written permission.
|
||
.\"
|
||
.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
.\" SUCH DAMAGE.
|
||
.\"
|
||
.\" %FreeBSD: src/sbin/ping6/ping6.8,v 1.20 2004/05/17 08:25:15 ru Exp %
|
||
.\"
|
||
.\" $FreeBSD$
|
||
.\"
|
||
.\" WORD: ICMPv6 Node Information Node Addresses = ICMPv6 ノード情報(アドレス)問い合わせ
|
||
.\" WORD: ICMPv6 Node Information FQDN query = ICMPv6 ノード情報(FQDN)問い合わせ
|
||
.Dd May 17, 1998
|
||
.Dt PING6 8
|
||
.Os
|
||
.Sh 名称
|
||
.Nm ping6
|
||
.Nd ネットワークホストに対して
|
||
.Tn ICMPv6 ECHO_REQUEST
|
||
パケットを送信する
|
||
.Sh 書式
|
||
.Nm
|
||
.\" without ipsec, or new ipsec
|
||
.Op Fl dfHmnNqtvwW
|
||
.\" old ipsec
|
||
.\" .Op Fl AdEfmnNqRtvwW
|
||
.Bk -words
|
||
.Op Fl a Ar addrtype
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl b Ar bufsiz
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl c Ar count
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl g Ar gateway
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl h Ar hoplimit
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl I Ar interface
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl i Ar wait
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl l Ar preload
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl p Ar pattern
|
||
.Ek
|
||
.Bk -words
|
||
.\" new ipsec
|
||
.Op Fl P Ar policy
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl S Ar sourceaddr
|
||
.Ek
|
||
.Bk -words
|
||
.Op Fl s Ar packetsize
|
||
.Ek
|
||
.Bk -words
|
||
.Op Ar hops ...
|
||
.Ek
|
||
.Bk -words
|
||
.Ar host
|
||
.Ek
|
||
.Sh 解説
|
||
.Nm
|
||
ユーティリティは、
|
||
.Tn ICMPv6
|
||
プロトコルで必須の
|
||
.Tn ICMP6_ECHO_REQUEST
|
||
データグラムを使用し、ホストまたはゲートウェイから
|
||
.Tn ICMP6_ECHO_REPLY
|
||
データグラムを返させます。
|
||
.Tn ICMP6_ECHO_REQUEST
|
||
データグラム (``ping'') は、IPv6 ヘッダと
|
||
.Tn ICMPv6
|
||
を持ちます。
|
||
.Tn ICMPv6
|
||
の書式は RFC2463 に記述されています。
|
||
オプションは次の通りです:
|
||
.Bl -tag -width Ds
|
||
.\" old ipsec
|
||
.\" .It Fl A
|
||
.\" トランスポートモード IPsec 認証ヘッダを有効にします
|
||
.\" (実験なものです)。
|
||
.It Fl a Ar addrtype
|
||
.Tn ECHO_REQUEST
|
||
ではなく ICMPv6 ノード情報 (アドレス) 問い合わせパケットを
|
||
生成します。
|
||
.Ar addrtype
|
||
は以下の文字より構成される文字列でなければなりません。
|
||
.Bl -tag -width Ds -compact
|
||
.It Ic a
|
||
全ての応答者のユニキャストアドレスを要求します。
|
||
もし省略されると、応答者のアドレスを持つ
|
||
インタフェースに属するアドレスのみ要求します。
|
||
.It Ic c
|
||
応答者の IPv4 互換アドレスと IPv4 にマップされたアドレスを要求します。
|
||
.It Ic g
|
||
応答者のグローバルスコープアドレスを要求します。
|
||
.It Ic s
|
||
応答者のサイトローカルアドレスを要求します。
|
||
.It Ic l
|
||
応答者のリンクローカルアドレスを要求します。
|
||
.It Ic A
|
||
応答者のエニーキャストアドレスを要求します。
|
||
この文字がない場合、応答者はユニキャストアドレスのみ返します。
|
||
この文字がある場合、応答者はエニーキャストのみ返します。
|
||
仕様では、応答者のエニーキャストアドレスをどのように取得するかは
|
||
述べられていないことに注意してください。
|
||
これは実験的なオプションです。
|
||
.El
|
||
.It Fl b Ar bufsiz
|
||
ソケットのバッファサイズを設定します。
|
||
.It Fl c Ar count
|
||
.Tn ECHO_RESPONSE
|
||
パケットを
|
||
.Ar count
|
||
回送出
|
||
(そして受信)
|
||
してから終了します。
|
||
.It Fl d
|
||
使用されているソケットに
|
||
.Dv SO_DEBUG
|
||
オプションを設定します。
|
||
.\" .It Fl E
|
||
.\" トランスポートモード IPsec 暗号ペイロードを有効にします
|
||
.\" (実験なものです)。
|
||
.It Fl f
|
||
.Tn ECHO_REQUEST
|
||
ping を垂れ流します。
|
||
パケットが返って来るとすぐ、もしくは 100 分の 1 秒に 1 回のうちの
|
||
どちらか多い方の頻度でパケットを出力します。
|
||
.Tn ECHO_REQUEST
|
||
パケットを送るたびに
|
||
.Dq \&.
|
||
が表示され、
|
||
.Tn ECHO_REPLY
|
||
パケットを受信するたびにバックスペースが表示されます。
|
||
これによりどれだけのパケットが欠落したのかをすばやく表示することができます。
|
||
スーパユーザのみ使用可能です。
|
||
.Bf -emphasis
|
||
このオプションはネットワークに非常に負荷をかけるので、注意して使用する
|
||
必要があります。
|
||
.Ef
|
||
.It Fl g Ar gateway
|
||
終点に至る次ホップとして、
|
||
.Ar gateway
|
||
を指定します。
|
||
ゲートウェイは、送信ノードの近隣であることが必要です。
|
||
.It Fl H
|
||
IPv6 アドレスの逆検索を試行するよう、指定します。
|
||
本オプションを指定しない場合、
|
||
.Nm
|
||
ユーティリティは逆検索を試行しません。
|
||
.It Fl h Ar hoplimit
|
||
IPv6 の中継限界数を設定します。
|
||
.It Fl I Ar interface
|
||
与えられたインタフェースアドレスからパケットを送ります。
|
||
このフラグは、ping の宛先アドレスが
|
||
マルチキャストアドレスの場合か、
|
||
リンクローカル / サイトローカルなユニキャストアドレスの場合に適用できます。
|
||
.It Fl i Ar wait
|
||
.Ar wait
|
||
で指定した秒数だけパケットの送出間隔を空けます。
|
||
デフォルトでは送出間隔は 1 秒です。
|
||
このオプションは
|
||
.Fl f
|
||
オプションとは同時に指定できません。
|
||
.It Fl l Ar preload
|
||
.Nm
|
||
は指定した
|
||
.Ar preload
|
||
値だけ
|
||
.Tn ECHO_REQUEST
|
||
パケットを出来るだけ速く送信し、通常の動作に戻ります。
|
||
スーパユーザのみがこのオプションを使用できます。
|
||
.It Fl m
|
||
デフォルトでは、最小 IPv6 MTU に納まるようにパケットを断片化するよう、
|
||
.Nm
|
||
はカーネルに依頼します。
|
||
.Fl m
|
||
オプションは、次の 2 段階で、この動作を抑制します。
|
||
本オプションが 1 度指定された場合、
|
||
ユニキャストパケットに対してこの動作は抑制されます。
|
||
本オプションが 2 度指定された場合、
|
||
ユニキャストパケットとマルチキャストパケットの両方に対して
|
||
この動作は抑制されます。
|
||
.It Fl n
|
||
数値の出力のみになります。
|
||
応答中に含まれるホストアドレスに対し、シンボル名の解決を試みません。
|
||
.It Fl N
|
||
ノード情報マルチキャストグループ (node information multicast group)
|
||
.Pq Li ff02::2:xxxx:xxxx
|
||
をプローブします。
|
||
.Ar host
|
||
はターゲットの文字列のホスト名であることが必要です
|
||
(数値の IPv6 アドレスであってはなりません)。
|
||
ノード情報マルチキャストグループは、指定した
|
||
.Ar host
|
||
に基づいて計算し、最終的な終点として使用されます。
|
||
ノード情報マルチキャストグループは
|
||
リンクローカルなマルチキャストグループなので、
|
||
出力リンクを
|
||
.Fl I
|
||
で指定する必要があります。
|
||
.It Fl p Ar pattern
|
||
送出するパケットを埋める
|
||
.Dq pad
|
||
バイトを指定します。
|
||
.Dq pad
|
||
バイトは
|
||
16 バイトを上限とします。
|
||
これはネットワーク上でデータ依存の問題を診断するときに有効です。たとえば
|
||
.Dq Li \-p ff
|
||
は全て 1 の送出パケットを生成します。
|
||
.\" new ipsec
|
||
.It Fl P Ar policy
|
||
.Ar policy
|
||
でプローブに使う IPsec ポリシを指定します。
|
||
.It Fl q
|
||
出力を抑制します。開始時と終了時の要約行しか表示しません。
|
||
.It Fl S Ar sourceaddr
|
||
要求パケットの始点アドレスを指定します。
|
||
始点アドレスは、
|
||
送信元ノードのユニキャストアドレスのうちのひとつであること、
|
||
数値であることが必要です。
|
||
.It Fl s Ar packetsize
|
||
送出するデータのバイト数を指定します。
|
||
デフォルトでは 56 バイトです。
|
||
これは、
|
||
.Tn ICMP
|
||
ヘッダデータの 8 バイトをつけた 64 バイトの
|
||
.Tn ICMP
|
||
データに変換されます。
|
||
.Fl b
|
||
オプションも共に指定して、ソケットのバッファサイズを
|
||
拡張する必要があるかもしれません。
|
||
.It Fl t
|
||
エコー要求ではなく ICMPv6 ノード情報対応要求種別問い合わせパケットを生成します。
|
||
.Fl t
|
||
を指定した場合、
|
||
.Fl s
|
||
は無効となります。
|
||
.It Fl v
|
||
冗長出力を有効にします。
|
||
.Tn ECHO_RESPONSE
|
||
以外の受信
|
||
.Tn ICMP
|
||
パケットも表示されます。
|
||
.It Fl w
|
||
.Tn ECHO_REQUEST
|
||
ではなく ICMPv6 ノード情報 (FQDN) 問い合わせパケットを生成します。
|
||
.Fl w
|
||
オプションを指定した場合
|
||
.Fl s
|
||
オプションは無効となります。
|
||
.It Fl W
|
||
.Fl w
|
||
オプションと同じですが、03 ドラフトベースの古いパケット書式を使用します。
|
||
このオプションは後方互換性のために残されています。
|
||
.Fl w
|
||
オプションを指定した場合
|
||
.Fl s
|
||
オプションは無効となります。
|
||
.It Ar hops
|
||
タイプ 0 ルーティングヘッダ中に置かれる、中間ノード用の IPv6 アドレスです。
|
||
.It Ar host
|
||
最終的な終点ノードの IPv6 アドレスです。
|
||
.El
|
||
.Pp
|
||
問題の切り分けのために
|
||
.Nm
|
||
を用いるには、ローカルインタフェースが up かつ running であることを
|
||
確認するため、まずローカルホスト上で実行します。
|
||
その後、より遠くのホストやゲートウェイに
|
||
.Dq ping
|
||
をしていきます。
|
||
経路周回時間 (round-trip time) と消失パケットの統計が計算されます。
|
||
重複したパケットが受信された場合、そのパケットは消失パケットの計算には
|
||
含まれませんが、経路周回時間の統計の計算には
|
||
使われます。
|
||
指定されたパケットの数が送信され
|
||
(受信され)
|
||
たとき、もしくはプログラムが
|
||
.Dv SIGINT
|
||
で終了した場合、簡単な要約が表示されます。
|
||
要約に書き出されるのは、送出したパケット数、受信したパケット数、そして
|
||
経路周回時間の最小/平均/最大/標準偏差です。
|
||
.Pp
|
||
.Nm
|
||
が
|
||
.Dv SIGINFO
|
||
シグナル
|
||
.Xr ( stty 1
|
||
の
|
||
.Cm status
|
||
引数を参照して下さい)
|
||
を受け取った場合、現時点での送出したパケット数、受信したパケット数、そして
|
||
経路周回時間の最小/平均/最大/標準偏差が標準終了時のメッセージと同じ書式で
|
||
標準出力に書かれます。
|
||
.Pp
|
||
このプログラムは主にネットワークのテスト、計測、管理に用いられることを
|
||
想定しています。
|
||
.Nm
|
||
はそれ自体ネットワークに負荷をかけるので、トラブルのないときや自動スクリ
|
||
プトで用いることは勧められません。
|
||
.\" .Sh ICMP PACKET DETAILS
|
||
.\" An IP header without options is 20 bytes.
|
||
.\" An
|
||
.\" .Tn ICMP
|
||
.\" .Tn ECHO_REQUEST
|
||
.\" packet contains an additional 8 bytes worth of
|
||
.\" .Tn ICMP
|
||
.\" header followed by an arbitrary amount of data.
|
||
.\" When a
|
||
.\" .Ar packetsize
|
||
.\" is given, this indicated the size of this extra piece of data
|
||
.\" (the default is 56).
|
||
.\" Thus the amount of data received inside of an IP packet of type
|
||
.\" .Tn ICMP
|
||
.\" .Tn ECHO_REPLY
|
||
.\" will always be 8 bytes more than the requested data space
|
||
.\" (the
|
||
.\" .Tn ICMP
|
||
.\" header).
|
||
.\" .Pp
|
||
.\" If the data space is at least eight bytes large,
|
||
.\" .Nm
|
||
.\" uses the first eight bytes of this space to include a timestamp which
|
||
.\" it uses in the computation of round trip times.
|
||
.\" If less than eight bytes of pad are specified, no round trip times are
|
||
.\" given.
|
||
.Sh 重複パケットと障害パケット
|
||
.Nm
|
||
ユーティリティは重複パケットと障害パケットを報告します。重複パケットは
|
||
ユニキャストアドレスに対して ping をかけている場合は起こるはずの
|
||
ないものですが、
|
||
リンク層での不適切な再送信によって引き起こされるようです。
|
||
重複は様々な状況で起こる可能性があります。低いレベルの重複の存在は
|
||
必ずしも警告にならないかもしれませんが、
|
||
(まず)
|
||
よい兆候ではありません。
|
||
ブロードキャストもしくは
|
||
マルチキャストアドレスに ping する時には、
|
||
重複パケットが出ることが予想されます。
|
||
なぜなら、そのパケットは、実際には重複したパケットなのではなく、
|
||
異なったホストからの同じ要求に対する応答であるからです。
|
||
.Pp
|
||
障害パケットは、警告を引き起こす重大な原因であることは間違いありません。
|
||
多くの場合、
|
||
.Nm ping
|
||
パケットの経路のどこか
|
||
(ネットワーク内かホスト内)
|
||
のハードウェアの故障が
|
||
考えられます。
|
||
.Sh 異なったデータパターンの試行
|
||
(インター) ネットワーク層は、データ部分に含まれるデータによってパケットの扱い
|
||
を変えません。不幸にも、パケットがネットワークに侵入し、
|
||
長い間検知されないままとなるというデータに依存した問題が知られています。
|
||
多くの場合、問題を引き起こす特殊なパターンは、
|
||
たとえば全部 1 や全部 0 のようなもの、あるいは右端以外が 0
|
||
であるようなものといった、十分な
|
||
.Dq 遷移
|
||
を持たないものです。コマンドラインで (たとえば)
|
||
全部 0 のデータパターンを指定するだけでは不十分かもしれません。なぜな
|
||
ら問題のパターンはデータリンク層にあり、コマンドラインで指定したものと
|
||
コントローラが送信するものとの関係は複雑である可能性があるからです。
|
||
.Pp
|
||
このことは、つまり、データに依存した問題があるとき、それを見付けるためには
|
||
テストをたくさんしなければならないということです。運がよければ、
|
||
あるネットワークを通して送れない、あるいは同じような長さのファイル
|
||
よりも送るのにずっと長時間かかるようなファイルを見付けることが
|
||
できるかもしれません。
|
||
この場合、そのファイルを調べ、繰り返し現われるパターンを
|
||
.Nm
|
||
の
|
||
.Fl p
|
||
オプションを使ってテストできます。
|
||
.Sh 診断
|
||
.Nm
|
||
ユーティリティは、成功時 (ホストが生きている場合) には 0 を、
|
||
引数が正しくない場合やホストが応答しない場合には非 0 を返します。
|
||
.Sh 使用例
|
||
通常、
|
||
.Nm
|
||
は、
|
||
.Xr ping 8
|
||
が動作するように動作します。
|
||
以下は、ICMPv6 エコー要求を
|
||
.Li dst.foo.com
|
||
へ送ります。
|
||
.Bd -literal -offset indent
|
||
ping6 -n dst.foo.com
|
||
.Ed
|
||
.Pp
|
||
以下は、
|
||
.Li wi0
|
||
インタフェースに接続されたネットワークリンク上の
|
||
全ノードのホスト名を検出します。
|
||
アドレス
|
||
.Li ff02::1
|
||
は、リンクローカル全ノードマルチキャストアドレスと名付けられており、
|
||
パケットはネットワークリンク上の全ノードに到達します。
|
||
.Bd -literal -offset indent
|
||
ping6 -w ff02::1%wi0
|
||
.Ed
|
||
.Pp
|
||
以下は、終点ノード
|
||
.Li dst.foo.com
|
||
に割り当てられたアドレスを検出します。
|
||
.Bd -literal -offset indent
|
||
ping6 -a agl dst.foo.com
|
||
.Ed
|
||
.Sh 関連項目
|
||
.Xr netstat 1 ,
|
||
.Xr icmp6 4 ,
|
||
.Xr inet6 4 ,
|
||
.Xr ip6 4 ,
|
||
.Xr ifconfig 8 ,
|
||
.Xr ping 8 ,
|
||
.Xr routed 8 ,
|
||
.Xr traceroute 8 ,
|
||
.Xr traceroute6 8
|
||
.Rs
|
||
.%A A. Conta
|
||
.%A S. Deering
|
||
.%T "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification"
|
||
.%N RFC2463
|
||
.%D December 1998
|
||
.Re
|
||
.Rs
|
||
.%A Matt Crawford
|
||
.%T "IPv6 Node Information Queries"
|
||
.%N draft-ietf-ipngwg-icmp-name-lookups-09.txt
|
||
.%D May 2002
|
||
.%O work in progress material
|
||
.Re
|
||
.Sh 歴史
|
||
.Xr ping 8
|
||
ユーティリティは
|
||
.Bx 4.3
|
||
で登場しました。
|
||
IPv6 をサポートした
|
||
.Nm
|
||
ユーティリティは WIDE Hydrangea IPv6 プロトコルスタックキットで
|
||
はじめて登場しました。
|
||
.Pp
|
||
KAME Project
|
||
.Pq Pa http://www.kame.net/
|
||
スタックを基とする IPv6 および IPsec のサポートは、
|
||
.Fx 4.0
|
||
で初めて組み込まれました。
|
||
.Sh バグ
|
||
.Nm
|
||
ユーティリティは意図的に
|
||
.Xr ping 8
|
||
と分離されています。
|
||
.Pp
|
||
我々が何故
|
||
.Nm
|
||
と
|
||
.Xr ping 8
|
||
の実装を分けたのかという議論が沢山ありました。
|
||
IPv4 と IPv6 両用の ping コマンドに統一した方が便利だと言う人もいました。
|
||
この要求に対する答えは次の通りです。
|
||
.Pp
|
||
開発者の視点から:
|
||
IPv4 と IPv6 とで下位の raw ソケット API が全く異なりますので、
|
||
2 種類のコードベースを持つことになります。
|
||
ふたつのコマンドをあわせて単一コマンドにしても、実際、
|
||
開発者の立場からは利益はないでしょう。
|
||
.Pp
|
||
操作者の視点から:
|
||
リモートログインツールのような通常のネットワークアプリケーションとは異なり、
|
||
通常、ネットワーク管理ツールを使用するときはアドレスファミリを意識します。
|
||
単にホストへの到達可能性を知りたいのではなく、
|
||
IPv6 等の特定のプロトコルでのホスト到達性を知りたいのです。
|
||
よって、IPv4 と IPv6 用に統合された
|
||
.Xr ping 8
|
||
コマンドがあったとしても、常に
|
||
.Fl 6
|
||
または
|
||
.Fl 4
|
||
のオプション (またはこれに類するもの) を入力して、
|
||
特定のアドレスファミリを指定することになるでしょう。
|
||
これは、本質的に、ふたつの異なったコマンドを持つのと同じことを意味します。
|