xref: /minix3/sbin/ping6/ping6.8 (revision 903ca1e525d31068eb447066c1f496b51cdcba31)
1*903ca1e5SDavid van Moolenbroek.\"	$NetBSD: ping6.8,v 1.30 2015/05/15 08:02:39 kefren Exp $
2*903ca1e5SDavid van Moolenbroek.\"	$KAME: ping6.8,v 1.57 2002/05/26 13:18:25 itojun Exp $
3*903ca1e5SDavid van Moolenbroek.\"
4*903ca1e5SDavid van Moolenbroek.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
5*903ca1e5SDavid van Moolenbroek.\" All rights reserved.
6*903ca1e5SDavid van Moolenbroek.\"
7*903ca1e5SDavid van Moolenbroek.\" Redistribution and use in source and binary forms, with or without
8*903ca1e5SDavid van Moolenbroek.\" modification, are permitted provided that the following conditions
9*903ca1e5SDavid van Moolenbroek.\" are met:
10*903ca1e5SDavid van Moolenbroek.\" 1. Redistributions of source code must retain the above copyright
11*903ca1e5SDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer.
12*903ca1e5SDavid van Moolenbroek.\" 2. Redistributions in binary form must reproduce the above copyright
13*903ca1e5SDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer in the
14*903ca1e5SDavid van Moolenbroek.\"    documentation and/or other materials provided with the distribution.
15*903ca1e5SDavid van Moolenbroek.\" 3. Neither the name of the project nor the names of its contributors
16*903ca1e5SDavid van Moolenbroek.\"    may be used to endorse or promote products derived from this software
17*903ca1e5SDavid van Moolenbroek.\"    without specific prior written permission.
18*903ca1e5SDavid van Moolenbroek.\"
19*903ca1e5SDavid van Moolenbroek.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
20*903ca1e5SDavid van Moolenbroek.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21*903ca1e5SDavid van Moolenbroek.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22*903ca1e5SDavid van Moolenbroek.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
23*903ca1e5SDavid van Moolenbroek.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24*903ca1e5SDavid van Moolenbroek.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25*903ca1e5SDavid van Moolenbroek.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26*903ca1e5SDavid van Moolenbroek.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27*903ca1e5SDavid van Moolenbroek.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28*903ca1e5SDavid van Moolenbroek.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29*903ca1e5SDavid van Moolenbroek.\" SUCH DAMAGE.
30*903ca1e5SDavid van Moolenbroek.\"
31*903ca1e5SDavid van Moolenbroek.Dd April 23, 2015
32*903ca1e5SDavid van Moolenbroek.Dt PING6 8
33*903ca1e5SDavid van Moolenbroek.Os
34*903ca1e5SDavid van Moolenbroek.Sh NAME
35*903ca1e5SDavid van Moolenbroek.Nm ping6
36*903ca1e5SDavid van Moolenbroek.Nd send
37*903ca1e5SDavid van Moolenbroek.Tn ICMPv6 ECHO_REQUEST
38*903ca1e5SDavid van Moolenbroekpackets to network hosts
39*903ca1e5SDavid van Moolenbroek.Sh SYNOPSIS
40*903ca1e5SDavid van Moolenbroek.Nm ping6
41*903ca1e5SDavid van Moolenbroek.\" without IPsec, or new IPsec
42*903ca1e5SDavid van Moolenbroek.Op Fl dfHmnNoqRtvwW
43*903ca1e5SDavid van Moolenbroek.\" old IPsec
44*903ca1e5SDavid van Moolenbroek.\" .Op Fl AdEfnNqRtvwW
45*903ca1e5SDavid van Moolenbroek.Op Fl a Ar addrtype
46*903ca1e5SDavid van Moolenbroek.Op Fl b Ar bufsiz
47*903ca1e5SDavid van Moolenbroek.Op Fl c Ar count
48*903ca1e5SDavid van Moolenbroek.Op Fl g Ar gateway
49*903ca1e5SDavid van Moolenbroek.Op Fl h Ar hoplimit
50*903ca1e5SDavid van Moolenbroek.Op Fl I Ar interface
51*903ca1e5SDavid van Moolenbroek.Op Fl i Ar wait
52*903ca1e5SDavid van Moolenbroek.Op Fl l Ar preload
53*903ca1e5SDavid van Moolenbroek.Op Fl p Ar pattern
54*903ca1e5SDavid van Moolenbroek.\" new IPsec
55*903ca1e5SDavid van Moolenbroek.Op Fl P Ar policy
56*903ca1e5SDavid van Moolenbroek.Op Fl S Ar sourceaddr
57*903ca1e5SDavid van Moolenbroek.Op Fl s Ar packetsize
58*903ca1e5SDavid van Moolenbroek.Op Fl x Ar maxwait
59*903ca1e5SDavid van Moolenbroek.Op Fl X Ar deadline
60*903ca1e5SDavid van Moolenbroek.Op Ar hops ...
61*903ca1e5SDavid van Moolenbroek.Ar host
62*903ca1e5SDavid van Moolenbroek.Sh DESCRIPTION
63*903ca1e5SDavid van Moolenbroek.Nm
64*903ca1e5SDavid van Moolenbroekuses the
65*903ca1e5SDavid van Moolenbroek.Tn ICMPv6
66*903ca1e5SDavid van Moolenbroekprotocol's mandatory
67*903ca1e5SDavid van Moolenbroek.Tn ICMP6_ECHO_REQUEST
68*903ca1e5SDavid van Moolenbroekdatagram to elicit an
69*903ca1e5SDavid van Moolenbroek.Tn ICMP6_ECHO_REPLY
70*903ca1e5SDavid van Moolenbroekfrom a host or gateway.
71*903ca1e5SDavid van Moolenbroek.Tn ICMP6_ECHO_REQUEST
72*903ca1e5SDavid van Moolenbroekdatagrams (``pings'') have an IPv6 header,
73*903ca1e5SDavid van Moolenbroekand
74*903ca1e5SDavid van Moolenbroek.Tn ICMPv6
75*903ca1e5SDavid van Moolenbroekheader formatted as documented in RFC 2463.
76*903ca1e5SDavid van MoolenbroekThe options are as follows:
77*903ca1e5SDavid van Moolenbroek.Bl -tag -width Ds
78*903ca1e5SDavid van Moolenbroek.\" old IPsec
79*903ca1e5SDavid van Moolenbroek.\" .It Fl A
80*903ca1e5SDavid van Moolenbroek.\" Enables transport-mode IPsec authentication header
81*903ca1e5SDavid van Moolenbroek.\" .Pq experimental .
82*903ca1e5SDavid van Moolenbroek.It Fl a Ar addrtype
83*903ca1e5SDavid van MoolenbroekGenerate ICMPv6 Node Information Node Addresses query, rather than echo-request.
84*903ca1e5SDavid van Moolenbroek.Ar addrtype
85*903ca1e5SDavid van Moolenbroekmust be a string constructed of the following characters.
86*903ca1e5SDavid van Moolenbroek.Bl -tag -width Ds -compact
87*903ca1e5SDavid van Moolenbroek.It Ic a
88*903ca1e5SDavid van Moolenbroekrequests unicast addresses from all of the responder's interfaces.
89*903ca1e5SDavid van MoolenbroekIf the character is omitted,
90*903ca1e5SDavid van Moolenbroekonly those addresses which belong to the interface which has the
91*903ca1e5SDavid van Moolenbroekresponder's address are requests.
92*903ca1e5SDavid van Moolenbroek.It Ic c
93*903ca1e5SDavid van Moolenbroekrequests responder's IPv4-compatible and IPv4-mapped addresses.
94*903ca1e5SDavid van Moolenbroek.It Ic g
95*903ca1e5SDavid van Moolenbroekrequests responder's global-scope addresses.
96*903ca1e5SDavid van Moolenbroek.It Ic s
97*903ca1e5SDavid van Moolenbroekrequests responder's site-local addresses.
98*903ca1e5SDavid van Moolenbroek.It Ic l
99*903ca1e5SDavid van Moolenbroekrequests responder's link-local addresses.
100*903ca1e5SDavid van Moolenbroek.It Ic A
101*903ca1e5SDavid van Moolenbroekrequests responder's anycast addresses.
102*903ca1e5SDavid van MoolenbroekWithout this character, the responder will return unicast addresses only.
103*903ca1e5SDavid van MoolenbroekWith this character, the responder will return anycast addresses only.
104*903ca1e5SDavid van MoolenbroekNote that the specification does not specify how to get responder's
105*903ca1e5SDavid van Moolenbroekanycast addresses.
106*903ca1e5SDavid van MoolenbroekThis is an experimental option.
107*903ca1e5SDavid van Moolenbroek.El
108*903ca1e5SDavid van Moolenbroek.It Fl b Ar bufsiz
109*903ca1e5SDavid van MoolenbroekSet socket buffer size.
110*903ca1e5SDavid van Moolenbroek.It Fl c Ar count
111*903ca1e5SDavid van MoolenbroekStop after sending
112*903ca1e5SDavid van Moolenbroek.Pq and receiving
113*903ca1e5SDavid van Moolenbroek.Ar count
114*903ca1e5SDavid van Moolenbroek.Tn ECHO_RESPONSE
115*903ca1e5SDavid van Moolenbroekpackets.
116*903ca1e5SDavid van Moolenbroek.It Fl d
117*903ca1e5SDavid van MoolenbroekSet the
118*903ca1e5SDavid van Moolenbroek.Dv SO_DEBUG
119*903ca1e5SDavid van Moolenbroekoption on the socket being used.
120*903ca1e5SDavid van Moolenbroek.\" .It Fl E
121*903ca1e5SDavid van Moolenbroek.\" Enables transport-mode IPsec encapsulated security payload
122*903ca1e5SDavid van Moolenbroek.\" .Pq experimental .
123*903ca1e5SDavid van Moolenbroek.It Fl f
124*903ca1e5SDavid van MoolenbroekFlood ping.
125*903ca1e5SDavid van MoolenbroekOutputs packets as fast as they come back or one hundred times per second,
126*903ca1e5SDavid van Moolenbroekwhichever is more.
127*903ca1e5SDavid van MoolenbroekFor every
128*903ca1e5SDavid van Moolenbroek.Tn ECHO_REQUEST
129*903ca1e5SDavid van Moolenbroeksent a period
130*903ca1e5SDavid van Moolenbroek.Dq \&.
131*903ca1e5SDavid van Moolenbroekis printed, while for every
132*903ca1e5SDavid van Moolenbroek.Tn ECHO_REPLY
133*903ca1e5SDavid van Moolenbroekreceived a backspace is printed.
134*903ca1e5SDavid van MoolenbroekThis provides a rapid display of how many packets are being dropped.
135*903ca1e5SDavid van MoolenbroekOnly the super-user may use this option.
136*903ca1e5SDavid van Moolenbroek.Bf -emphasis
137*903ca1e5SDavid van MoolenbroekThis can be very hard on a network and should be used with caution.
138*903ca1e5SDavid van Moolenbroek.Ef
139*903ca1e5SDavid van Moolenbroek.It Fl g Ar gateway
140*903ca1e5SDavid van MoolenbroekSpecifies to use
141*903ca1e5SDavid van Moolenbroek.Ar gateway
142*903ca1e5SDavid van Moolenbroekas the next hop to the destination.
143*903ca1e5SDavid van MoolenbroekThe gateway must be a neighbor of the sending node.
144*903ca1e5SDavid van Moolenbroek.It Fl H
145*903ca1e5SDavid van MoolenbroekSpecifies to try reverse-lookup of IPv6 addresses.
146*903ca1e5SDavid van MoolenbroekThe
147*903ca1e5SDavid van Moolenbroek.Nm
148*903ca1e5SDavid van Moolenbroekcommand does not try reverse-lookup unless the option is specified.
149*903ca1e5SDavid van Moolenbroek.It Fl h Ar hoplimit
150*903ca1e5SDavid van MoolenbroekSet the IPv6 hoplimit.
151*903ca1e5SDavid van Moolenbroek.It Fl I Ar interface
152*903ca1e5SDavid van MoolenbroekSource packets with the given interface address.
153*903ca1e5SDavid van MoolenbroekThis flag applies if the ping destination is a multicast address,
154*903ca1e5SDavid van Moolenbroekor link-local/site-local unicast address.
155*903ca1e5SDavid van Moolenbroek.It Fl i Ar wait
156*903ca1e5SDavid van MoolenbroekWait
157*903ca1e5SDavid van Moolenbroek.Ar wait
158*903ca1e5SDavid van Moolenbroekseconds
159*903ca1e5SDavid van Moolenbroek.Em between sending each packet .
160*903ca1e5SDavid van MoolenbroekThe default is to wait for one second between each packet.
161*903ca1e5SDavid van MoolenbroekThis option is incompatible with the
162*903ca1e5SDavid van Moolenbroek.Fl f
163*903ca1e5SDavid van Moolenbroekoption.
164*903ca1e5SDavid van Moolenbroek.It Fl l Ar preload
165*903ca1e5SDavid van MoolenbroekIf
166*903ca1e5SDavid van Moolenbroek.Ar preload
167*903ca1e5SDavid van Moolenbroekis specified,
168*903ca1e5SDavid van Moolenbroek.Nm
169*903ca1e5SDavid van Moolenbroeksends that many packets as fast as possible before falling into its normal
170*903ca1e5SDavid van Moolenbroekmode of behavior.
171*903ca1e5SDavid van MoolenbroekOnly the super-user may use this option.
172*903ca1e5SDavid van Moolenbroek.It Fl m
173*903ca1e5SDavid van MoolenbroekBy default,
174*903ca1e5SDavid van Moolenbroek.Nm
175*903ca1e5SDavid van Moolenbroekasks the kernel to fragment packets to fit into the minimum IPv6 MTU.
176*903ca1e5SDavid van Moolenbroek.Fl m
177*903ca1e5SDavid van Moolenbroekwill suppress the behavior in the following two levels:
178*903ca1e5SDavid van Moolenbroekwhen the option is specified once, the behavior will be disabled for
179*903ca1e5SDavid van Moolenbroekunicast packets.
180*903ca1e5SDavid van MoolenbroekWhen the option is specified more than once, it will be disabled for both
181*903ca1e5SDavid van Moolenbroekunicast and multicast packets.
182*903ca1e5SDavid van Moolenbroek.It Fl n
183*903ca1e5SDavid van MoolenbroekNumeric output only.
184*903ca1e5SDavid van MoolenbroekNo attempt will be made to lookup symbolic names from addresses in the reply.
185*903ca1e5SDavid van Moolenbroek.It Fl N
186*903ca1e5SDavid van MoolenbroekProbe node information multicast group
187*903ca1e5SDavid van Moolenbroek.Pq Li ff02::2:xxxx:xxxx .
188*903ca1e5SDavid van Moolenbroek.Ar host
189*903ca1e5SDavid van Moolenbroekmust be string hostname of the target
190*903ca1e5SDavid van Moolenbroek.Pq must not be a numeric IPv6 address .
191*903ca1e5SDavid van MoolenbroekNode information multicast group will be computed based on given
192*903ca1e5SDavid van Moolenbroek.Ar host ,
193*903ca1e5SDavid van Moolenbroekand will be used as the final destination.
194*903ca1e5SDavid van MoolenbroekSince node information multicast group is a link-local multicast group,
195*903ca1e5SDavid van Moolenbroekoutgoing interface needs to be specified by
196*903ca1e5SDavid van Moolenbroek.Fl I
197*903ca1e5SDavid van Moolenbroekoption.
198*903ca1e5SDavid van Moolenbroek.It Fl o
199*903ca1e5SDavid van MoolenbroekExit successfully after receiving one reply packet.
200*903ca1e5SDavid van Moolenbroek.It Fl p Ar pattern
201*903ca1e5SDavid van MoolenbroekYou may specify up to 16
202*903ca1e5SDavid van Moolenbroek.Dq pad
203*903ca1e5SDavid van Moolenbroekbytes to fill out the packet you send.
204*903ca1e5SDavid van MoolenbroekThis is useful for diagnosing data-dependent problems in a network.
205*903ca1e5SDavid van MoolenbroekFor example,
206*903ca1e5SDavid van Moolenbroek.Dq Li \-p ff
207*903ca1e5SDavid van Moolenbroekwill cause the sent packet to be filled with all
208*903ca1e5SDavid van Moolenbroekones.
209*903ca1e5SDavid van Moolenbroek.\" new IPsec
210*903ca1e5SDavid van Moolenbroek.It Fl P Ar policy
211*903ca1e5SDavid van Moolenbroek.Ar policy
212*903ca1e5SDavid van Moolenbroekspecifies IPsec policy to be used for the probe.
213*903ca1e5SDavid van Moolenbroek.It Fl q
214*903ca1e5SDavid van MoolenbroekQuiet output.
215*903ca1e5SDavid van MoolenbroekNothing is displayed except the summary lines at startup time and
216*903ca1e5SDavid van Moolenbroekwhen finished.
217*903ca1e5SDavid van Moolenbroek.It Fl R
218*903ca1e5SDavid van MoolenbroekMake the kernel believe that the target
219*903ca1e5SDavid van Moolenbroek.Ar host
220*903ca1e5SDavid van Moolenbroek.Po
221*903ca1e5SDavid van Moolenbroekor the first
222*903ca1e5SDavid van Moolenbroek.Ar hop
223*903ca1e5SDavid van Moolenbroekif you specify
224*903ca1e5SDavid van Moolenbroek.Ar hops
225*903ca1e5SDavid van Moolenbroek.Pc
226*903ca1e5SDavid van Moolenbroekis reachable, by injecting upper-layer reachability confirmation hint.
227*903ca1e5SDavid van MoolenbroekThe option is meaningful only if the target
228*903ca1e5SDavid van Moolenbroek.Ar host
229*903ca1e5SDavid van Moolenbroek.Pq or the first hop
230*903ca1e5SDavid van Moolenbroekis a neighbor.
231*903ca1e5SDavid van Moolenbroek.It Fl S Ar sourceaddr
232*903ca1e5SDavid van MoolenbroekSpecifies the source address of request packets.
233*903ca1e5SDavid van MoolenbroekThe source address must be one of the unicast addresses of the sending node,
234*903ca1e5SDavid van Moolenbroekand must be numeric.
235*903ca1e5SDavid van Moolenbroek.It Fl s Ar packetsize
236*903ca1e5SDavid van MoolenbroekSpecifies the number of data bytes to be sent.
237*903ca1e5SDavid van MoolenbroekThe default is 56, which translates into 64
238*903ca1e5SDavid van Moolenbroek.Tn ICMP
239*903ca1e5SDavid van Moolenbroekdata bytes when combined
240*903ca1e5SDavid van Moolenbroekwith the 8 bytes of
241*903ca1e5SDavid van Moolenbroek.Tn ICMP
242*903ca1e5SDavid van Moolenbroekheader data.
243*903ca1e5SDavid van MoolenbroekYou may need to specify
244*903ca1e5SDavid van Moolenbroek.Fl b
245*903ca1e5SDavid van Moolenbroekas well to extend socket buffer size.
246*903ca1e5SDavid van Moolenbroek.It Fl t
247*903ca1e5SDavid van MoolenbroekGenerate ICMPv6 Node Information supported query types query,
248*903ca1e5SDavid van Moolenbroekrather than echo-request.
249*903ca1e5SDavid van Moolenbroek.Fl s
250*903ca1e5SDavid van Moolenbroekhas no effect if
251*903ca1e5SDavid van Moolenbroek.Fl t
252*903ca1e5SDavid van Moolenbroekis specified.
253*903ca1e5SDavid van Moolenbroek.It Fl v
254*903ca1e5SDavid van MoolenbroekVerbose output.
255*903ca1e5SDavid van Moolenbroek.Tn ICMP
256*903ca1e5SDavid van Moolenbroekpackets other than
257*903ca1e5SDavid van Moolenbroek.Tn ECHO_RESPONSE
258*903ca1e5SDavid van Moolenbroekthat are received are listed.
259*903ca1e5SDavid van Moolenbroek.It Fl w
260*903ca1e5SDavid van MoolenbroekGenerate ICMPv6 Node Information DNS Name query, rather than echo-request.
261*903ca1e5SDavid van Moolenbroek.Fl s
262*903ca1e5SDavid van Moolenbroekhas no effect if
263*903ca1e5SDavid van Moolenbroek.Fl w
264*903ca1e5SDavid van Moolenbroekis specified.
265*903ca1e5SDavid van Moolenbroek.It Fl W
266*903ca1e5SDavid van MoolenbroekSame as
267*903ca1e5SDavid van Moolenbroek.Fl w ,
268*903ca1e5SDavid van Moolenbroekbut with old packet format based on 03 draft.
269*903ca1e5SDavid van MoolenbroekThis option is present for backward compatibility.
270*903ca1e5SDavid van Moolenbroek.Fl s
271*903ca1e5SDavid van Moolenbroekhas no effect if
272*903ca1e5SDavid van Moolenbroek.Fl w
273*903ca1e5SDavid van Moolenbroekis specified.
274*903ca1e5SDavid van Moolenbroek.It Fl x Ar maxwait
275*903ca1e5SDavid van MoolenbroekTime in milliseconds to wait for a reply for each packet sent.
276*903ca1e5SDavid van Moolenbroek.It Fl X Ar deadline
277*903ca1e5SDavid van MoolenbroekSpecify a timeout, in seconds, before ping exits regardless of
278*903ca1e5SDavid van Moolenbroekhow many packets have been received.
279*903ca1e5SDavid van Moolenbroek.It Ar hops
280*903ca1e5SDavid van MoolenbroekIPv6 addresses for intermediate nodes,
281*903ca1e5SDavid van Moolenbroekwhich will be put into type 0 routing header.
282*903ca1e5SDavid van Moolenbroek.It Ar host
283*903ca1e5SDavid van MoolenbroekIPv6 address of the final destination node.
284*903ca1e5SDavid van Moolenbroek.El
285*903ca1e5SDavid van Moolenbroek.Pp
286*903ca1e5SDavid van MoolenbroekWhen using
287*903ca1e5SDavid van Moolenbroek.Nm
288*903ca1e5SDavid van Moolenbroekfor fault isolation, it should first be run on the local host, to verify
289*903ca1e5SDavid van Moolenbroekthat the local network interface is up and running.
290*903ca1e5SDavid van MoolenbroekThen, hosts and gateways further and further away should be
291*903ca1e5SDavid van Moolenbroek.Dq pinged .
292*903ca1e5SDavid van MoolenbroekRound-trip times and packet loss statistics are computed.
293*903ca1e5SDavid van MoolenbroekIf duplicate packets are received, they are not included in the packet
294*903ca1e5SDavid van Moolenbroekloss calculation, although the round trip time of these packets is used
295*903ca1e5SDavid van Moolenbroekin calculating the round-trip time statistics.
296*903ca1e5SDavid van MoolenbroekWhen the specified number of packets have been sent
297*903ca1e5SDavid van Moolenbroek.Pq and received
298*903ca1e5SDavid van Moolenbroekor if the program is terminated with a
299*903ca1e5SDavid van Moolenbroek.Dv SIGINT ,
300*903ca1e5SDavid van Moolenbroeka brief summary is displayed, showing the number of packets sent and
301*903ca1e5SDavid van Moolenbroekreceived, and the minimum, maximum, mean, and standard deviation of
302*903ca1e5SDavid van Moolenbroekthe round-trip times.
303*903ca1e5SDavid van Moolenbroek.Pp
304*903ca1e5SDavid van MoolenbroekThis program is intended for use in network testing, measurement and
305*903ca1e5SDavid van Moolenbroekmanagement.
306*903ca1e5SDavid van MoolenbroekBecause of the load it can impose on the network, it is unwise to use
307*903ca1e5SDavid van Moolenbroek.Nm
308*903ca1e5SDavid van Moolenbroekduring normal operations or from automated scripts.
309*903ca1e5SDavid van Moolenbroek.\" .Sh ICMP PACKET DETAILS
310*903ca1e5SDavid van Moolenbroek.\" An IP header without options is 20 bytes.
311*903ca1e5SDavid van Moolenbroek.\" An
312*903ca1e5SDavid van Moolenbroek.\" .Tn ICMP
313*903ca1e5SDavid van Moolenbroek.\" .Tn ECHO_REQUEST
314*903ca1e5SDavid van Moolenbroek.\" packet contains an additional 8 bytes worth of
315*903ca1e5SDavid van Moolenbroek.\" .Tn ICMP
316*903ca1e5SDavid van Moolenbroek.\" header followed by an arbitrary amount of data.
317*903ca1e5SDavid van Moolenbroek.\" When a
318*903ca1e5SDavid van Moolenbroek.\" .Ar packetsize
319*903ca1e5SDavid van Moolenbroek.\" is given, this indicated the size of this extra piece of data
320*903ca1e5SDavid van Moolenbroek.\" .Pq the default is 56 .
321*903ca1e5SDavid van Moolenbroek.\" Thus the amount of data received inside of an IP packet of type
322*903ca1e5SDavid van Moolenbroek.\" .Tn ICMP
323*903ca1e5SDavid van Moolenbroek.\" .Tn ECHO_REPLY
324*903ca1e5SDavid van Moolenbroek.\" will always be 8 bytes more than the requested data space
325*903ca1e5SDavid van Moolenbroek.\" .Pq the Tn ICMP header .
326*903ca1e5SDavid van Moolenbroek.\" .Pp
327*903ca1e5SDavid van Moolenbroek.\" If the data space is at least eight bytes large,
328*903ca1e5SDavid van Moolenbroek.\" .Nm
329*903ca1e5SDavid van Moolenbroek.\" uses the first eight bytes of this space to include a timestamp which
330*903ca1e5SDavid van Moolenbroek.\" it uses in the computation of round trip times.
331*903ca1e5SDavid van Moolenbroek.\" If less than eight bytes of pad are specified, no round trip times are
332*903ca1e5SDavid van Moolenbroek.\" given.
333*903ca1e5SDavid van Moolenbroek.Sh DUPLICATE AND DAMAGED PACKETS
334*903ca1e5SDavid van Moolenbroek.Nm
335*903ca1e5SDavid van Moolenbroekwill report duplicate and damaged packets.
336*903ca1e5SDavid van MoolenbroekDuplicate packets should never occur when pinging a unicast address,
337*903ca1e5SDavid van Moolenbroekand seem to be caused by
338*903ca1e5SDavid van Moolenbroekinappropriate link-level retransmissions.
339*903ca1e5SDavid van MoolenbroekDuplicates may occur in many situations and are rarely
340*903ca1e5SDavid van Moolenbroek.Pq if ever
341*903ca1e5SDavid van Moolenbroeka good sign, although the presence of low levels of duplicates may not
342*903ca1e5SDavid van Moolenbroekalways be cause for alarm.
343*903ca1e5SDavid van MoolenbroekDuplicates are expected when pinging a multicast address,
344*903ca1e5SDavid van Moolenbroeksince they are not really duplicates but replies from different hosts
345*903ca1e5SDavid van Moolenbroekto the same request.
346*903ca1e5SDavid van Moolenbroek.Pp
347*903ca1e5SDavid van MoolenbroekDamaged packets are obviously serious cause for alarm and often
348*903ca1e5SDavid van Moolenbroekindicate broken hardware somewhere in the
349*903ca1e5SDavid van Moolenbroek.Nm
350*903ca1e5SDavid van Moolenbroekpacket's path
351*903ca1e5SDavid van Moolenbroek.Pq in the network or in the hosts .
352*903ca1e5SDavid van Moolenbroek.Sh TRYING DIFFERENT DATA PATTERNS
353*903ca1e5SDavid van MoolenbroekThe
354*903ca1e5SDavid van Moolenbroek(inter)network
355*903ca1e5SDavid van Moolenbroeklayer should never treat packets differently depending on the data
356*903ca1e5SDavid van Moolenbroekcontained in the data portion.
357*903ca1e5SDavid van MoolenbroekUnfortunately, data-dependent problems have been known to sneak into
358*903ca1e5SDavid van Moolenbroeknetworks and remain undetected for long periods of time.
359*903ca1e5SDavid van MoolenbroekIn many cases the particular pattern that will have problems is something
360*903ca1e5SDavid van Moolenbroekthat does not have sufficient
361*903ca1e5SDavid van Moolenbroek.Dq transitions ,
362*903ca1e5SDavid van Moolenbroeksuch as all ones or all zeros, or a pattern right at the edge, such as
363*903ca1e5SDavid van Moolenbroekalmost all zeros.
364*903ca1e5SDavid van MoolenbroekIt is not
365*903ca1e5SDavid van Moolenbroeknecessarily enough to specify a data pattern of all zeros (for example)
366*903ca1e5SDavid van Moolenbroekon the command line because the pattern that is of interest is
367*903ca1e5SDavid van Moolenbroekat the data link level, and the relationship between what you type and
368*903ca1e5SDavid van Moolenbroekwhat the controllers transmit can be complicated.
369*903ca1e5SDavid van Moolenbroek.Pp
370*903ca1e5SDavid van MoolenbroekThis means that if you have a data-dependent problem you will probably
371*903ca1e5SDavid van Moolenbroekhave to do a lot of testing to find it.
372*903ca1e5SDavid van MoolenbroekIf you are lucky, you may manage to find a file that either
373*903ca1e5SDavid van Moolenbroekcannot
374*903ca1e5SDavid van Moolenbroekbe sent across your network or that takes much longer to transfer than
375*903ca1e5SDavid van Moolenbroekother similar length files.
376*903ca1e5SDavid van MoolenbroekYou can then examine this file for repeated patterns that you can test
377*903ca1e5SDavid van Moolenbroekusing the
378*903ca1e5SDavid van Moolenbroek.Fl p
379*903ca1e5SDavid van Moolenbroekoption of
380*903ca1e5SDavid van Moolenbroek.Nm Ns .
381*903ca1e5SDavid van Moolenbroek.Sh EXIT STATUS
382*903ca1e5SDavid van Moolenbroek.Nm
383*903ca1e5SDavid van Moolenbroekexits with 0 on success (the host is alive),
384*903ca1e5SDavid van Moolenbroekand non-zero if the arguments are incorrect or the host is not responding.
385*903ca1e5SDavid van Moolenbroek.Sh EXAMPLES
386*903ca1e5SDavid van MoolenbroekNormally,
387*903ca1e5SDavid van Moolenbroek.Nm
388*903ca1e5SDavid van Moolenbroekworks just like
389*903ca1e5SDavid van Moolenbroek.Xr ping 8
390*903ca1e5SDavid van Moolenbroekwould work; the following will send ICMPv6 echo request to
391*903ca1e5SDavid van Moolenbroek.Li dst.foo.com .
392*903ca1e5SDavid van Moolenbroek.Bd -literal -offset indent
393*903ca1e5SDavid van Moolenbroekping6 -n dst.foo.com
394*903ca1e5SDavid van Moolenbroek.Ed
395*903ca1e5SDavid van Moolenbroek.Pp
396*903ca1e5SDavid van MoolenbroekThe following will probe hostnames for all nodes on the network link attached to
397*903ca1e5SDavid van Moolenbroek.Li wi0
398*903ca1e5SDavid van Moolenbroekinterface.
399*903ca1e5SDavid van MoolenbroekThe address
400*903ca1e5SDavid van Moolenbroek.Li ff02::1
401*903ca1e5SDavid van Moolenbroekis named the link-local all-node multicast address, and the packet would
402*903ca1e5SDavid van Moolenbroekreach every node on the network link.
403*903ca1e5SDavid van Moolenbroek.Bd -literal -offset indent
404*903ca1e5SDavid van Moolenbroekping6 -w ff02::1%wi0
405*903ca1e5SDavid van Moolenbroek.Ed
406*903ca1e5SDavid van Moolenbroek.Pp
407*903ca1e5SDavid van MoolenbroekThe following will probe addresses assigned to the destination node,
408*903ca1e5SDavid van Moolenbroek.Li dst.foo.com .
409*903ca1e5SDavid van Moolenbroek.Bd -literal -offset indent
410*903ca1e5SDavid van Moolenbroekping6 -a agl dst.foo.com
411*903ca1e5SDavid van Moolenbroek.Ed
412*903ca1e5SDavid van Moolenbroek.Sh SEE ALSO
413*903ca1e5SDavid van Moolenbroek.Xr netstat 1 ,
414*903ca1e5SDavid van Moolenbroek.Xr icmp6 4 ,
415*903ca1e5SDavid van Moolenbroek.Xr inet6 4 ,
416*903ca1e5SDavid van Moolenbroek.Xr ip6 4 ,
417*903ca1e5SDavid van Moolenbroek.Xr ifconfig 8 ,
418*903ca1e5SDavid van Moolenbroek.Xr ping 8 ,
419*903ca1e5SDavid van Moolenbroek.Xr routed 8 ,
420*903ca1e5SDavid van Moolenbroek.Xr traceroute 8 ,
421*903ca1e5SDavid van Moolenbroek.Xr traceroute6 8
422*903ca1e5SDavid van Moolenbroek.Rs
423*903ca1e5SDavid van Moolenbroek.%A A. Conta
424*903ca1e5SDavid van Moolenbroek.%A S. Deering
425*903ca1e5SDavid van Moolenbroek.%T "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification"
426*903ca1e5SDavid van Moolenbroek.%N RFC 2463
427*903ca1e5SDavid van Moolenbroek.%D December 1998
428*903ca1e5SDavid van Moolenbroek.Re
429*903ca1e5SDavid van Moolenbroek.Rs
430*903ca1e5SDavid van Moolenbroek.%A Matt Crawford
431*903ca1e5SDavid van Moolenbroek.%T "IPv6 Node Information Queries"
432*903ca1e5SDavid van Moolenbroek.%N draft-ietf-ipngwg-icmp-name-lookups-09.txt
433*903ca1e5SDavid van Moolenbroek.%D May 2002
434*903ca1e5SDavid van Moolenbroek.%O work in progress material
435*903ca1e5SDavid van Moolenbroek.Re
436*903ca1e5SDavid van Moolenbroek.Sh HISTORY
437*903ca1e5SDavid van MoolenbroekThe
438*903ca1e5SDavid van Moolenbroek.Xr ping 8
439*903ca1e5SDavid van Moolenbroekcommand appeared in
440*903ca1e5SDavid van Moolenbroek.Bx 4.3 .
441*903ca1e5SDavid van MoolenbroekThe
442*903ca1e5SDavid van Moolenbroek.Nm
443*903ca1e5SDavid van Moolenbroekcommand with IPv6 support first appeared in the WIDE Hydrangea IPv6
444*903ca1e5SDavid van Moolenbroekprotocol stack kit.
445*903ca1e5SDavid van Moolenbroek.Sh BUGS
446*903ca1e5SDavid van Moolenbroek.\" except for bsdi
447*903ca1e5SDavid van Moolenbroek.Nm
448*903ca1e5SDavid van Moolenbroekis intentionally separate from
449*903ca1e5SDavid van Moolenbroek.Xr ping 8 .
450