aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man8/ping.8
blob: 210f2504ece02b53b7744127cf2a80035249e251 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
.\" Copyright (c) 1985, 1991, 1993
.\"	The Regents of the University of California.  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. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
.\"
.\"     @(#)ping.8	8.2 (Berkeley) 12/11/93
.\" %FreeBSD: src/sbin/ping/ping.8,v 1.25.2.6 2001/07/30 00:55:44 mjacob Exp %
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/ping.8,v 1.13 2001/07/29 05:15:29 horikawa Exp $
.\"
.Dd March 1, 1997
.Dt PING 8
.Os BSD 4.3
.Sh 名称
.Nm ping
.Nd
.Tn ICMP ECHO_REQUEST
パケットをネットワーク上のホストへ送る
.Sh 書式
.Nm
.Op Fl QRadfnqrv
.Op Fl c Ar count
.Op Fl i Ar wait
.Op Fl l Ar preload
.Op Fl m Ar ttl
.Op Fl P Ar policy
.Op Fl p Ar pattern
.Op Fl s Ar packetsize
.Op Fl S Ar src_addr
.Op Fl t Ar timeout
.Bo
.Ar host |
.Op Fl L
.Op Fl I Ar interface
.Op Fl T Ar ttl
.Ar mcast-group
.Bc
.Sh 解説
.Nm
は、
.Tn ICMP
の
.Tn ECHO_REQUEST
データグラムを用いて、指定したホストやゲートウェイ
からの
.Tn ICMP ECHO_RESPONSE
を引き出します。
.Tn ECHO_REQUEST
データグラム (
.Pq Dq ping
) には IP および
.Tn ICMP
ヘッダ、
.Dq struct timeval
、パケットの残りを埋める適当な数の
.Dq pad
バイトが順にあります。
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl a
聴覚モード。パケットを受け取った時に、出力にベル
.Pq ASCII 0x07
文字を
含みます。このオプションは、別形式のオプションがある場合は無視されます。
.It Fl c Ar count
.Tn ECHO_RESPONSE
パケットを
.Ar count
回送出
.Pq そして受信
してから終了します。
本オプションが指定されない場合、
.Nm
は割り込まれるまで動作を継続します。
.It Fl d
使用する socket に
.Dv SO_DEBUG
オプションを設定します。
.It Fl f
.Tn ECHO_REQUEST
ping を垂れ流します。
パケットが返って来るとすぐ、もしくは 100 分の 1 秒に 1 回のいずれか多い回数だけ
パケットを出力します。
.Tn ECHO_REQUEST
パケットを送るたびに
.Dq .\&
が表示され、
.Tn ECHO_REPLY
パケットを受信するたびにバックスペースが表示されます。
これによりどれだけのパケットが欠落したのかをすばやく表示することができます。
スーパユーザのみ使用可能です
.Bf -emphasis
このオプションはネットワークに非常に負荷をかけるので、注意して使用する
必要があります。
.Ef
.It Fl i Ar wait
.Ar wait
で指定した秒数だけパケットの送出間隔を空けます。
デフォルトでは送出間隔は 1 秒です。
より小さい値を指定できますが、
1 より小さい値を指定できるのはスーパユーザだけです。
このオプションは
.Fl f
オプションとは同時に指定できません。
.It Fl I Ar interface
与えられたインタフェースアドレスに対して、マルチキャストパケットを
送ります。このフラグは、 ping の宛先アドレスがマルチキャストアドレスの
場合だけに適用できます。
.It Fl l Ar preload
指定した
.Ar preload
値だけ
.Tn ECHO_REQUEST
パケットを出来るだけ速く送信し、通常の動作に戻ります。
スーパユーザのみがこのオプションを使用できます。
.It Fl m Ar ttl
出力パケットの IP Time To Live を設定します。
指定しないと、カーネルは
.Va net.inet.ip.ttl
MIB 変数の値を使用します。
.It Fl L
マルチキャストパケットのループバックを抑制します。
このフラグは、宛先アドレスがマルチキャストアドレスの場合だけ
適用できます。
.It Fl n
数値のみ出力します。ホストアドレスに対する名前を調べるようなことは
しません。
.It Fl p Ar pattern
送出するパケットを埋める
.Dq pad
バイトを指定します。
.Dq pad
バイトは
16 バイトを上限とします。
これはネットワーク上でデータ依存の問題を診断するときに有効です。たとえば
.Dq Li \-p ff
は全て 1 の送出パケットを生成します。
.It Fl P Ar policy
.Ar policy
は、ping セッションの IPsec ポリシを指定します。
詳細については
.Xr ipsec 4
と
.Xr ipsec_set_policy 3
を参照してください。
.It Fl Q
いくらか静かな出力にします。
自己が行なった問い合わせに対しての応答に含まれる
ICMP エラーメッセージは表示されません。
もともとは、
.Fl v
オプションがそのようなエラーを表示するために必要でしたが、
.Fl v
オプションは全ての ICMP エラーメッセージを表示します。忙しい機械上では、
この出力は更に負荷になるでしょう。
.Fl Q
オプションを指定しないと、
.Nm
は、
自己の ECHO_REQUEST メッセージに起因する ICMP エラーメッセージを表示します。
.It Fl q
出力を抑制します。開始時と終了時の要約行しか表示しません。
.It Fl R
指定ホストまでの到達経路を記録します。
.Tn ECHO_REQUEST
パケット中に
.Tn RECORD_ROUTE
オプションをつけ、返送パケット上の経路バッファを表示します。IP ヘッダには
経路を 9 個収める大きさしかないことに注意してください;
特定の宛先に対してパケットを経路づけるには、通常
.Xr traceroute 8
コマンドを使う方が良いでしょう。
不正に偽ったパケットによるなどして
しかるべき経路数よりも大くの経路が帰って来た場合、
ping は経路リストを表示し、正しい位置にまで縮めます。
多くのホストは
.Tn RECORD_ROUTE
オプションを無視するか捨てます。
.It Fl r
通常のルーティングテーブルを無視し、
直接接続されているネットワーク上のホストに対して送信します。
指定接続されたネットワーク上にホストが存在しない場合には、エラーが返されます。
このオプションは経路情報を持たないインタフェースを経由してローカル
ホストに ping をかけるのに用いられます
.Po
たとえばインタフェースが
.Xr routed 8
によってドロップされた後
.Pc
。
.It Fl s Ar packetsize
送出するデータのバイト数を指定します。
デフォルトでは 56 バイトです。
これは
.Tn ICMP
ヘッダデータの 8 バイトと合せて 64
.Tn ICMP
バイトになります。
スーパユーザのみこのオプションを指定できます。
.It Fl S Ar src_addr
引き続いて指定する IP アドレスを、
出力パケットの送信元アドレスとして使用します。
複数の IP アドレスを持つホストでは、このオプションを使用することにより、
プローブパケットを送信するインタフェース以外の送信アドレスを強制可能です。
IP アドレスがこのマシンのインタフェースアドレスではない場合、
エラーが返され、送信は行われません。
.It Fl t Ar timeout
タイムアウトを、秒単位で指定します。
タイムアウトすると、受信パケット数にかかわらず
.Nm
が終了します。
.It Fl T Ar ttl
マルチキャストパケットの IP 寿命時間 (Time To Live) を設定します。
このオプションは、宛先アドレスがマルチキャストアドレスの場合だけ
適用できます。
.It Fl v
冗長出力を有効にします。
.Tn ECHO_RESPONSE
以外の受信
.Tn ICMP
パケットも表示されます。
.El
.Pp
問題の切り分けのために
.Nm
を用いるにはローカルインタフェースが up かつ running であることを
確認するため、まずローカルホスト上で実行します。
その後により遠くのホストやゲートウェイに
.Dq ping
します。
経路周回時間 (round trip time) と消失パケットの統計が計算されます。
重複したパケットが受信された場合、そのパケットは消失パケットの計算には
含まれませんが、経路周回時間の統計の計算には
使われます。
指定されたパケットの数が送信され
.Pq 受信され
たとき、もしくはプログラムが
.Dv SIGINT
で終了した場合、簡単な要約が表示されます。
要約は、送出したパケット数、受信したパケット数、そして
経路周回時間の最小/最大/平均/分散です。
.Pp
このプログラムは主にネットワークのテスト、計測、管理に用いられことを
想定しています。
.Nm
はそれ自体ネットワークに負荷をかけるので、トラブルのないときや自動スクリ
プトで用いることは勧められません。
.Sh ICMP パケットの詳細
オプションなしの IP ヘッダは 20 バイトです。
.Tn ICMP
.Tn ECHO_REQUEST
パケットはさらなる 8 バイトの
.Tn ICMP
ヘッダとそれに続く任意の大きさのデータからなっています。
この大きさは
.Ar packetsize
によって指定されます
.Pq デフォルトでは 56 バイトです
。
このように受信した IP パケット内の
.Tn ICMP
.Tn ECHO_REPLY
データ量は常に指定されたデータ
.Pq Tn ICMP ヘッダ
の大きさよりも 8 バイト大きくなります。
.Pp
データ領域が少なくとも 8 バイトあるとき、
.Nm
は最初の 8 バイトを経路周回時間の計算に用いるタイムスタンプを書くために
用います。指定された pad の大きさが 8 バイトより小さい場合経路周回時間は
得られません。
.Sh 重複パケットと障害パケット
.Nm
は重複パケットと障害パケットを報告します。重複パケットは
ユニキャストアドレスに対しては起こるはずのないものですが、
リンク層での不適切な再送信によって引き起こされるようです。
重複は様々な状況で起こる可能性があります。低いレベルの重複の存在は
必ずしも警告にならないかもしれませんが、よい兆候ではありません。
ブロードキャストもしくは
マルチキャストアドレスに ping する時には、重複が起こることが期待されます。
実際に重複するのではなく、
異ったホストから同じ要求に対して応答が行われからです。
.Pp
障害を受けたパケットは明らかに重大な警告です。多くの場合、
.Nm
パケットの経路のどこか(ネットワーク内かホスト内)のハードウェアの故障が
考えられます。
.Sh 異なったデータパターンの試行
(インター)ネットワーク層はデータ部分に含まれるデータによってパケットの扱い
を変えません。不幸にもデータ依存性の問題がネットワークに侵入し長い間検知さ
れないままとなる可能性が知られています。多くの場合、問題を引き起こす特殊
なパターンはたとえば全部 1 や全部 0 のようなもの、あるいは右端以外が 0
であるような十分な
.Dq 遷移
を持たないものです。コマンドラインで(たとえば)
全部 0 のデータパターンを指定するだけでは不十分かもしれません。なぜな
ら問題のパターンはデータリンク層にあり、コマンドラインで指定したものと
コントローラが送信するものとの間の関係は複雑だからです。
.Pp
このことはデータ依存性が問題となるとき、それを見付けるために多くのテストをし
なければならないということを意味します。運がよければ、あるネットワーク
を通して送れない、あるいは同じような長さのファイルよりもずっと長時間かか
るファイルを見付けることができるかもしれません。この場合、そのファイル
を調べ繰り返し現われるパターンを
.Nm
の
.Fl p
オプションを使ってテストできます。
.Sh TTL の詳細
IP パケットの
.Tn TTL
値はパケットが捨てられずに通過できる IP ルータの最大数を表わ
します。今のところインターネット上の各ルータは
.Tn TTL
フィールドをちょうど 1 だけ減らすと期待できます。
.Pp
.Tn TCP/IP
の仕様では
.Tn TCP
パケットの
.Tn TTL
フィールドを 60 にすべきだとなっていますが、多くのシステムは
もっと小さい値を用いています
.Po
.Bx 4.3
では 30、
.Bx 4.2
では 15 を用いています
.Pc
。
.Pp
このフィールドに許される最大値は 255 です。
そして多くの
.Ux
システムでは
.Tn ICMP ECHO_REQUEST
パケットの
.Tn TTL
フィールドを 255 にしています。これが
.Pq ping
は出来るのに
.Xr telnet 1
や
.Xr ftp 1
で入れないホストが発生する理由です。
.Pp
通常
.Nm
は受け取ったパケットの ttl 値を出力します。リモートシステム
が ping パケットを受け取るとき、その応答における
.Tn TTL
フィールドに関し以下の 3 つのうちの 1 つを行なうことができます。
.Bl -bullet
.It
変更しない;これは
.Bx 4.3 tahoe
リリース前の
.Bx
システムが行なっていたことです。
この場合、受け取ったパケット中の
.Tn TTL
値は 255 から周回経路におけるルータの数を引いた数です。
.It
255 にセットする; これは現在の
.Bx
システムが行なっている
ことです。この場合、受け取ったパケット中の
.Tn TTL
値は 255 から、リモートシステム
.Em から
.Nm
.Em している
ホスト
.Em まで
の経路におけるルータの数を引いた数となります。
.It
ある他の値にセットする。マシンによっては
30 あるいは 60 のような
.Tn TCP
パケットで用いるのと同じ値を
.Tn ICMP
パケットに使います。また全く異なる値を用いるマシンもあるかもしれません。
.El
.Sh 戻り値
.Nm
コマンドは、指定した
.Ar host
から少なくとも 1 回の応答を受信した場合、終了値 0 を返します;
送出は成功したものの応答を受信できない場合は 2 を返します;
エラーが発生した場合は、他の値
.Pq Aq Pa sysexits.h
が返されます。
.Sh 関連項目
.Xr netstat 1 ,
.Xr ifconfig 8 ,
.Xr routed 8 ,
.Xr traceroute 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.3
から登場しました。
.Sh 作者
オリジナルの
.Nm
コマンドは、
.An Mike Muuss
が US Army Ballistics Research Laboratory にて記述しました。
.Sh バグ
多くのホストやゲートウェイは、
.Tn RECORD_ROUTE
オプションを無視します。
.Pp
最大IPヘッダ長は、
.Tn RECORD_ROUTE
オプションを付加するには小さ過ぎます。しかしながら、これについては出来
ることは多くありません。
.Pp
ping を垂れ流しにするのは、一般に勧められません。特に
ブロードキャストアドレスに対して ping の垂れ流しを行なうのは、
きちんと条件を整えた場合においてのみにとどめるべきです。