OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / netkit / release / man8 / ping.8
1 .\" Copyright (c) 1985, 1991 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     from: @(#)ping.8        6.7 (Berkeley) 3/16/91
33 .\"     $Id: ping.8,v 1.1.1.1 2000/10/19 08:22:16 ysato Exp $
34 .\"
35 .\" Japanese version copyright (c) 1999 Tatsuo SEKINE <tsekine@isoternet.org>
36 .\"     all rights reserved
37 .\"
38 .\" Translated on Tue Dec 07 16:28:28 JST 1999
39 .\"     by Tatsuo SEKINE <tsekine@isoternet.org>
40 .\" Updated Sun Jan 14 20:51:42 JST 2001
41 .\"     by Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
42 .\"
43 .\"WORD: Time To Live   寿命時間
44 .\"WORD: round-trip     往復
45 .\"WORD: path   経路
46 .\"WORD: Berkeley Unix System   BSD Unix システム
47 .\"
48 .Dd August 30, 1996
49 .Dt PING 8
50 .Os "Linux NetKit (0.17)"
51 .Sh 名前
52 .Nm ping
53 .Nd
54 .Tn ICMP ECHO_REQUEST
55 パケットをネットワーク上のホストに送る
56 .Sh 書式
57 .Nm ping
58 .Op Fl LRdfnqrv
59 .Op Fl c Ar count
60 .Op Fl i Ar wait
61 .Op Fl l Ar preload
62 .Op Fl p Ar pattern
63 .Op Fl s Ar packetsize
64 .Op Fl t Ar ttl
65 .Op Fl w Ar waittime
66 .Op Fl I Ar interface address
67 .Sh 説明
68 .Nm ping
69
70 .Tn ICMP
71
72 .Tn ECHO_REQUEST
73 データグラムを用いて、指定したホストやゲートウェイからの
74 .Tn ICMP ECHO_RESPONSE
75 を引き出す。
76 .Tn ECHO_REQUEST
77 データグラム (``pings'') は IP と
78 .Tn ICMP
79 ヘッダを持ち、それに
80 .Dq struct timeval
81 が続き、そして、パケットの残りを埋めるために任意個の ``pad'' バイトがある。
82 オプションは以下の通り:
83 その他のオプションは:
84 .Bl -tag -width Ds
85 .It Fl c Ar count
86 .Ar count
87 個のパケットを送った (そしてその応答を受け取った) 後、停止する。
88 パケットが送られた後、
89 .Nm ping
90 は応答を受け取るまで 10 秒間待ち、終了する。
91 .It Fl d
92 使用するソケットに
93 .Dv SO_DEBUG
94 オプションを設定する。
95 .It Fl f
96 flood ping (ping の洪水)。パケットが戻ってくるとすぐ、
97 もしくは、1 秒間に 100 回の、いずれか多い回数だけパケットを送る。
98 .Tn ECHO_REQUEST
99 が送られるたびにピリオド ``.'' が表示され、
100 .Tn ECHO_REPLY
101 を受け取るごとに、バックスペースが表示される
102 (訳注: すなわち ``.'' が消去される)。
103 これにより、どのくらいのパケットが取りこぼされるかを、
104 すばやく表示することができる。スーパーユーザーだけがこのオプションを使える。
105 .Bf -emphasis
106 これは、ネットワークに非常に負荷をかけるので、注意して使うべきである。
107 .Ef
108 .It Fl i Ar wait
109 個々のパケットの間に
110 .Ar wait
111 秒待つ。
112 デフォルトでは、個々のパケットの間に 1 秒待つ。このオプションは
113 .Fl f
114 オプションとは同時に指定できない。
115 .It Fl l Ar preload
116 指定した
117 .Ar preload
118 の値だけ
119 .Tn ECHO_REQUEST
120 パケットを出来るだけ速く送信し、通常の動作に戻る。
121 スーパーユーザーだけがこのオプションを使用できる。
122 .It Fl n
123 数値出力のみ。
124 ホストのアドレスから、ホスト名の検索を試みない。
125 .It Fl p Ar pattern
126 送出するパケットを埋めるための 16 個までの ``pad'' バイトを指定できる。
127 これはネットワークでの、データに依存した問題の診断に有用である。
128 たとえば
129 .Dq Li \-p ff
130 は全て 1 で埋められたパケットを送る。
131 .It Fl q
132 静かな出力。
133 開始と終了時の要約以外は、何も表示しない。
134 .It Fl R
135 経路を記録。
136 .Tn ECHO_REQUEST
137 パケットに
138 .Tn RECORD_ROUTE
139 オプションを設定し、返ってきたパケットの経路バッファ
140 (route buffer) を表示する。
141 IP ヘッダは 9 つの経路分の大きさしかないことに注意せよ。
142 また、多くのホストはこのオプションを無視するか、破棄してしまう。
143 .It Fl r
144 通常のルーティングを無視し、接続されたネットワークのホストに直接送る。
145 もし、ホストが直に接続されたネットワークになければ、エラーが返る。
146 経路情報を持たないインタフェースを通して、
147 ローカルなホストへと ping するのに使われる。(例えば、インタフェースが
148 .Xr routed 8
149 に落された場合)。
150 .It Fl s Ar packetsize
151 何バイトのデータが送られるかを指定する。デフォルトは 56 で、
152 .Tn ICMP
153 ヘッダの 8 バイトを加えて、
154 64 バイトの
155 .Tn ICMP
156 データになる。
157 スーパーユーザーだけがこのオプションを使用できる。
158 .It Fl v
159 詳細な出力。
160 受け取った
161 .Tn ECHO_RESPONSE
162 以外の
163 .Tn ICMP
164 パケットを表示する。
165 .It Fl w Ar waittime
166 どのような場合でも関係なく、
167 .Nm ping
168
169 .Ar waittime
170 秒後に終了させる。
171 .El
172 .Pp
173 以下のオプションに関する記述は、
174 .Nm
175 のソース、ならびに FreeBSD の man ページを参考に
176 日本語訳に際して追加された。
177 .Bl -tag -width indent
178 .It Fl I Ar interface
179 与えられたインタフェースから、マルチキャストパケットを送る。
180 .It Fl L
181 マルチキャストパケットのループバックを抑制する。
182 .It Fl t Ar ttl
183 マルチキャストパケットの IP 寿命時間 (Time To Live) を設定する。
184 .El
185 .Pp
186 問題の切り分けのために
187 .Nm ping
188 を用いる場合、そのネットワークインタフェースが up かつ running である
189 ことを確認するために、まずローカルホスト上で実行するべきである。
190 その後により遠くのホストやゲートウェイに
191 .Dq ping
192 する。
193 往復時間 (round-trip time) と消失パケットの統計が計算される。
194 重複した応答メッセージを受け取った場合、
195 それらはパケットの損失の計算には使われないが、
196 それにもかかわらずそうしたパケットの往復時間は、
197 その最小値・平均値・最大値の計算に用いられる。
198 指定した数のパケットが送られた (そしてその応答を受け取った) か、プログラムが
199 .Dv SIGINT
200 で終了させられた場合は、簡単な要約が表示される。
201 .Pp
202 もし
203 .Nm ping
204 が全く応答パケットを受け取らなかった場合には、終了コード 1 で終了する。
205 エラーがあればコード 2 で終了する。それ以外の場合はコード 0 で終了する。
206 これにより、終了コードで、あるホストが動いているかどうかを判断すること
207 ができる。
208 .Pp
209 このプログラムはネットワークのテスト・計測・管理についての使用を意図している。
210 このプログラムがネットワークに強いる負荷を考えれば、
211 .Nm ping
212 をトラブルのないときや自動スクリプトから実行することは奨められない。
213 .Sh ICMP パケットの詳細
214 オプションなしの IP ヘッダは 20 バイトである。
215 .Tn ICMP
216 .Tn ECHO_REQUEST
217 パケットは、さらなる 8 バイトの
218 .Tn ICMP
219 ヘッダとそれに続く任意の量のデータからなる。
220 .Ar packetsize
221 が与えられた時には、それは付加的なデータ部分のサイズ (デフォルトは 56) を示す。
222 よって
223 .Tn ICMP
224 .Tn ECHO_REPLY
225 パケットの IP パケット内で受け取るデータの量は、
226 要求されたデータ領域より 8 バイト
227 .Ns ( Tn ICMP
228 ヘッダの分) 多い。
229 .Pp
230 もしデータ領域が 8 バイトよりも大きければ、
231 .Nm ping
232 はその領域の先頭 8 バイトを、往復時間を計算するのに使うタイムスタンプを
233 含めるために使用する。
234 もし 8 バイトよりも少なければ、往復時間は得られない。
235 .Sh 重複パケットと障害パケット
236 .Nm ping
237 は、重複パケットと障害パケットについて報告する。
238 重複パケットは (ユニキャストアドレスに対しては) 起きるはずはないが、
239 不適切なリンク層での再送によって引き起こされるように思われる。
240 重複は様々な状況で起こる可能性がある。低いレベルの重複の存在は
241 必ずしも警告にはならないかもしれないが、よい兆候ではない。
242 .Pp
243 障害を受けたパケットは、明らかに深刻な警告であり、多くの場合
244 .Nm ping
245 パケットの経路上 (ネットワーク内、もしくはそのホスト内) のどこかに
246 壊れたハードウェアがあることを示す。
247 .Sh 異なるデータパターンの試行
248 (インター) ネットワーク層は、決してデータ部分に含まれるデータによって
249 パケットの扱いを変えたりしない。
250 不幸にも、データに依存した問題がネットワークへと侵入し、
251 長い時間発見されないままとなってしまう可能性が知られている。
252 問題のあるパケットの特定のパターンは多くの場合、
253 全てが 0 または全てが 1 のようなもの、
254 あるいは右端以外が殆んど 0 のような、
255 十分な ``遷移 (transitions)'' を持たないものである。
256 コマンドラインで (例えば) 全て 0 というデータパターンを指定することは、
257 必ずしも十分ではない。
258 なぜならば、その関心のあるのはデータリンク層におけるパターンであり、
259 あなたが入力したものと、コントローラーが送信するものとの関係は
260 複雑だからである。
261 .Pp
262 これは、もしあなたがデータ依存性の問題を抱えているなら、
263 それを発見するためには
264 何回ものテストをしなければならないかもしれないことを意味する。
265 もし運が良ければ、ネットワークを通して送ることのできないファイルか、
266 同じような長さのファイルより、転送にずっと時間のかかるファイルを
267 発見することができるかもしれない。
268 そうしたら、そのファイルを調べ繰り返し現われるパターンを
269 .Nm ping
270
271 .Fl p
272 オプションを使ってテストできる。
273 .Sh TTL の詳細
274 IP パケットの
275 .Tn TTL
276 という値は、パケットが破棄される前に通過することができる
277 IP ルータの最大値を示す。
278 現在の慣例から、インターネットの各ルータは
279 .Tn TTL
280 フィールドを正確に 1 減らすことを期待できる。
281 .Pp
282 .Tn TCP/IP
283 規格は、
284 .Tn TCP
285 パケットの
286 .Tn TTL
287 フィールドは 60 に設定されるべきであるとしているが、多くのシステムは
288 もっと小さな値を使用している (4.3
289 .Tn BSD
290 は 30、4.2 は 15)。
291 .Pp
292 このフィールドの設定可能な最大値は 255 で、殆んどの Unix システムは
293 .Tn ICMP ECHO_REQUEST
294
295 .Tn TTL
296 フィールドを 255 に設定している。
297 これは、あるホストでは ``ping'' が通るのに、
298 .Xr telnet 1
299
300 .Xr ftp 1
301 ではそのホストに届かない理由 (の一つ) である。
302 .Pp
303 ping の通常の操作では、受け取ったパケットの ttl の値が表示される。
304 リモートのシステムが ping パケットを受け取った時、その応答における
305 .Tn TTL
306 フィールドには以下の 3 つのうちの 1 つを取ることができる。
307 .Bl -bullet
308 .It
309 変更しない; これは
310 .Bx 4.3 tahoe
311 リリース以前の BSD Unix システムが行っていたものである。
312 この場合、受け取ったパケットの
313 .Tn TTL
314 の値は、255 から往復経路上のルータの数を引いたものになる。
315 .It
316 255 にセットする; これは現在の BSD Unix が行っているものである。
317 (訳注: Linux もこれにあたる)。
318 この場合、受け取るパケットの
319 .Tn TTL
320 の値は、リモートシステム
321 .Xr から
322 .Nm ping
323 を行ったホストへの経路上のルータの数を、255 から引いたものである。
324 .It
325 その他の値にセットする。いくつかのマシンは、例えば 30 または 60 のような
326 .Tn TCP
327 パケットの値と同じものを
328 .Tn ICMP
329 パケットに用いる。また全く異なる値を用いるマシンもあるかも知れない。
330 .El
331 .Sh バグ
332 多くのホストとゲートウェイは
333 .Tn RECORD_ROUTE
334 オプションを無視する。
335 .Pp
336 .Tn RECORD_ROUTE
337 を完全に有効にするには、IP ヘッダの最大長は短過ぎる。
338 しかし、これについてできることは多くない。
339 .Pp
340 flood ping は一般的には推奨されないし、ブロードキャストアドレスへの
341 flood ping は、きちんと条件を整えた場合においてのみ使用されるべきである。
342 .Pp
343 日本語訳に際し、いくつかのオプションに関する記述を加えたが、正しいかど
344 うか分からない。
345 .Sh 関連項目
346 .Xr netstat 1 ,
347 .Xr ifconfig 8
348 .Sh 履歴
349 .Nm
350 コマンドは
351 .Bx 4.3
352 から登場した。