1.\" Copyright (c) 1985, 1991, 1993 2.\" The Regents of the University of California. 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. Neither the name of the University nor the names of its contributors 13.\" may be used to endorse or promote products derived from this software 14.\" without specific prior written permission. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26.\" SUCH DAMAGE. 27.\" 28.\" @(#)ping.8 8.2 (Berkeley) 12/11/93 29.\" $FreeBSD$ 30.\" 31.Dd November 26, 2020 32.Dt PING 8 33.Os 34.Sh NAME 35.Nm ping 36.Nd send 37.Tn ICMP 38or 39.Tn ICMPv6 ECHO_REQUEST 40packets to network hosts 41.Sh SYNOPSIS 42.Nm 43.Op Fl 4AaDdfHnoQqRrv 44.Op Fl C Ar pcp 45.Op Fl c Ar count 46.Op Fl G Ar sweepmaxsize 47.Op Fl g Ar sweepminsize 48.Op Fl h Ar sweepincrsize 49.Op Fl i Ar wait 50.Op Fl l Ar preload 51.Op Fl M Cm mask | time 52.Op Fl m Ar ttl 53.Op Fl P Ar policy 54.Op Fl p Ar pattern 55.Op Fl S Ar src_addr 56.Op Fl s Ar packetsize 57.Op Fl t Ar timeout 58.Op Fl W Ar waittime 59.Op Fl z Ar tos 60.Ar IPv4-host 61.Nm 62.Op Fl 4AaDdfHLnoQqRrv 63.Op Fl C Ar pcp 64.Op Fl c Ar count 65.Op Fl I Ar iface 66.Op Fl i Ar wait 67.Op Fl l Ar preload 68.Op Fl M Cm mask | time 69.Op Fl m Ar ttl 70.Op Fl P Ar policy 71.Op Fl p Ar pattern 72.Op Fl S Ar src_addr 73.Op Fl s Ar packetsize 74.Op Fl T Ar ttl 75.Op Fl t Ar timeout 76.Op Fl W Ar waittime 77.Op Fl z Ar tos 78.Ar IPv4-mcast-group 79.Nm 80.Op Fl 6AaDdEfHNnOoquvYyZ 81.Op Fl b Ar bufsiz 82.Op Fl c Ar count 83.Op Fl e Ar gateway 84.Op Fl I Ar interface 85.Op Fl i Ar wait 86.Op Fl k Ar addrtype 87.Op Fl l Ar preload 88.Op Fl m Ar hoplimit 89.Op Fl P Ar policy 90.Op Fl p Ar pattern 91.Op Fl S Ar sourceaddr 92.Op Fl s Ar packetsize 93.Op Fl t Ar timeout 94.Op Fl W Ar waittime 95.Op Ar IPv6-hops ... 96.Ar IPv6-host 97.Sh DESCRIPTION 98The 99.Nm 100utility invoked with an IPv4 target 101.Ns ( Ar IPv4-host No or Ar IPv4-mcast-group Ns ) 102uses the 103.Tn ICMP 104.No protocol Ap s mandatory 105.Tn ECHO_REQUEST 106datagram to elicit an 107.Tn ICMP ECHO_RESPONSE 108from a host or gateway. 109.Tn ECHO_REQUEST 110datagrams 111.Pq Dq pings 112have an IP and 113.Tn ICMP 114header, followed by a 115.Dq struct timeval 116and then an arbitrary number of 117.Dq pad 118bytes used to fill out the packet. 119.Pp 120When invoked with an IPv6 target 121.Ns ( Ar IPv6-host Ns ) Ns , 122it uses the 123.Tn ICMPv6 124protocol's mandatory 125.Tn ICMP6_ECHO_REQUEST 126datagram to elicit an 127.Tn ICMP6_ECHO_REPLY 128.Ns . 129.Tn ICMP6_ECHO_REQUEST 130datagrams have an IPv6 header and 131.Tn ICMPv6 132header formatted as documented in RFC 2463. 133.Pp 134When invoked with a hostname, the version to which the target is 135resolved first is used. In that case, the options and arguments used 136must be valid for the specific IP version, otherwise 137.Nm 138exits with an error. If the target is resolved to both IPv4 and IPv6, 139the specific IP version can be requested by 140.Fl 4 141or 142.Fl 6 143options, respectively. 144For backwards-compatibility, ICMPv6 can also be selected by invoking the binary 145as 146.Nm ping6 . 147.Ss Options common to both IPv4 and IPv6 targets 148.Bl -tag -width indent 149.It Fl A 150Audible. 151Output a bell 152.Tn ( ASCII 1530x07) 154character when no packet is received before the next packet 155is transmitted. 156To cater for round-trip times that are longer than the interval 157between transmissions, further missing packets cause a bell only 158if the maximum number of unreceived packets has increased. 159.It Fl a 160Audible. 161Include a bell 162.Tn ( ASCII 1630x07) 164character in the output when any packet is received. 165.It Fl C Ar pcp 166Add an 802.1p Ethernet Priority Code Point when sending a packet. 1670..7 uses that specific PCP, -1 uses the interface default PCP (or none). 168.It Fl c Ar count 169Stop after sending 170(and receiving) 171.Ar count 172.Tn ECHO_RESPONSE 173packets. 174If this option is not specified, 175.Nm 176will operate until interrupted. 177.Pp 178For an IPv4 target, if this option is specified in conjunction with ping sweeps, 179each sweep will consist of 180.Ar count 181packets. 182.It Fl D 183Disable fragmentation. 184.It Fl d 185Set the 186.Dv SO_DEBUG 187option on the socket being used. 188.It Fl f 189Flood ping. 190Outputs packets as fast as they come back or one hundred times per second, 191whichever is more. 192For every 193.Tn ECHO_REQUEST 194sent a period 195.Dq .\& 196is printed, while for every 197.Tn ECHO_REPLY 198received a backspace is printed. 199This provides a rapid display of how many packets are being dropped. 200Only the super-user may use this option. 201.Bf -emphasis 202This can be very hard on a network and should be used with caution. 203.Ef 204.It Fl H 205Hostname output. 206Try to do a reverse DNS lookup when displaying addresses. 207This is the opposite of the 208.Fl n 209option. 210.It Fl I Ar iface 211For an IPv4 target, 212.Ar iface 213is an IP address indentifying an interface from which the packets will 214be sent. This flag applies only if the ping target is a multicast 215address. 216.Pp 217For an IPv6 target, 218.Ar iface 219is a name of an interface (e.g. `em0') from which the packets will be 220sent. This flag applies if the ping target is a multicast address, or 221link-local/site-local unicast address. 222.It Fl i Ar wait 223Wait 224.Ar wait 225seconds 226.Em between sending each packet . 227The default is to wait for one second between each packet. 228The wait time may be fractional, but only the super-user may specify 229values less than 1 second. 230This option is incompatible with the 231.Fl f 232option. 233.It Fl l Ar preload 234If 235.Ar preload 236is specified, 237.Nm 238sends that many packets as fast as possible before falling into its normal 239mode of behavior. 240Only the super-user may use this option. 241.It Fl m Ar ttl 242For an IPv4 target, set the IP Time To Live for outgoing packets. 243If not specified, the kernel uses the value of the 244.Va net.inet.ip.ttl 245MIB variable. 246.Pp 247For an IPv6 target, set the IPv6 hoplimit. 248.It Fl n 249Numeric output only. 250No attempt will be made to lookup symbolic names for host addresses. 251This is the opposite of 252.Fl H , 253and it is the default behavior. 254.It Fl o 255Exit successfully after receiving one reply packet. 256.It Fl P Ar policy 257.Ar policy 258specifies IPsec policy for the ping session. 259For details please refer to 260.Xr ipsec 4 261and 262.Xr ipsec_set_policy 3 . 263.It Fl p Ar pattern 264You may specify up to 16 265.Dq pad 266bytes to fill out the packet you send. 267This is useful for diagnosing data-dependent problems in a network. 268For example, 269.Dq Li \-p ff 270will cause the sent packet to be filled with all 271ones. 272.It Fl q 273Quiet output. 274Nothing is displayed except the summary lines at startup time and 275when finished. 276.It Fl S Ar src_addr 277Use the following IP address as the source address in outgoing packets. 278On hosts with more than one IP address, this option can be used to 279force the source address to be something other than the IP address 280of the interface the probe packet is sent on. 281.Pp 282For IPv4, if the IP address is not one of this machine's interface 283addresses, an error is returned and nothing is sent. 284.Pp 285For IPv6, the source address must be one of the unicast addresses of 286the sending node, and must be numeric. 287.It Fl s Ar packetsize 288Specify the number of data bytes to be sent. 289The default is 56, which translates into 64 290.Tn ICMP 291data bytes when combined 292with the 8 bytes of 293.Tn ICMP 294header data. 295.Pp 296For IPv4, only the super-user may specify values more than default. 297This option cannot be used with ping sweeps. 298.Pp 299For IPv6, you may need to specify 300.Fl b 301as well to extend socket buffer size. 302.It Fl t Ar timeout 303Specify a timeout, in seconds, before ping exits regardless of how 304many packets have been received. 305.It Fl v 306Verbose output. 307.Tn ICMP 308packets other than 309.Tn ECHO_RESPONSE 310that are received are listed. 311.It Fl W Ar waittime 312Time in milliseconds to wait for a reply for each packet sent. 313If a reply arrives later, the packet is not printed as replied, but 314considered as replied when calculating statistics. 315.El 316.Ss Options only for IPv4 targets 317.Bl -tag -width indent 318.It Fl 4 319Use IPv4 regardless of how the target is resolved. 320.It Fl G Ar sweepmaxsize 321Specify the maximum size of 322.Tn ICMP 323payload when sending sweeping pings. 324This option is required for ping sweeps. 325.It Fl g Ar sweepminsize 326Specify the size of 327.Tn ICMP 328payload to start with when sending sweeping pings. 329The default value is 0. 330.It Fl h Ar sweepincrsize 331Specify the number of bytes to increment the size of 332.Tn ICMP 333payload after 334each sweep when sending sweeping pings. 335The default value is 1. 336.It Fl L 337Suppress loopback of multicast packets. 338This flag only applies if the ping destination is a multicast address. 339.It Fl M Cm mask | time 340Use 341.Dv ICMP_MASKREQ 342or 343.Dv ICMP_TSTAMP 344instead of 345.Dv ICMP_ECHO . 346For 347.Cm mask , 348print the netmask of the remote machine. 349Set the 350.Va net.inet.icmp.maskrepl 351MIB variable to enable 352.Dv ICMP_MASKREPLY 353and 354.Va net.inet.icmp.maskfake 355if you want to override the netmask in the response. 356For 357.Cm time , 358print the origination, reception and transmission timestamps. 359Set the 360.Va net.inet.icmp.tstamprepl 361MIB variable to enable or disable 362.Dv ICMP_TSTAMPREPLY . 363.It Fl Q 364Somewhat quiet output. 365.No Don Ap t 366display ICMP error messages that are in response to our query messages. 367Originally, the 368.Fl v 369flag was required to display such errors, but 370.Fl v 371displays all ICMP error messages. 372On a busy machine, this output can be overbearing. 373Without the 374.Fl Q 375flag, 376.Nm 377prints out any ICMP error messages caused by its own ECHO_REQUEST 378messages. 379.It Fl R 380Record route. 381Includes the 382.Tn RECORD_ROUTE 383option in the 384.Tn ECHO_REQUEST 385packet and displays 386the route buffer on returned packets. 387Note that the IP header is only large enough for nine such routes; 388the 389.Xr traceroute 8 390command is usually better at determining the route packets take to a 391particular destination. 392If more routes come back than should, such as due to an illegal spoofed 393packet, ping will print the route list and then truncate it at the correct 394spot. 395Many hosts ignore or discard the 396.Tn RECORD_ROUTE 397option. 398.It Fl r 399Bypass the normal routing tables and send directly to a host on an attached 400network. 401If the host is not on a directly-attached network, an error is returned. 402This option can be used to ping a local host through an interface 403that has no route through it 404(e.g., after the interface was dropped by 405.Xr routed 8 ) . 406.It Fl T Ar ttl 407Set the IP Time To Live for multicasted packets. 408This flag only applies if the ping destination is a multicast address. 409.It Fl z Ar tos 410Use the specified type of service. 411.It Ar IPv4-host 412hostname or IPv4 address of the final destination node. 413.It Ar IPv4-mcast-group 414IPv4 multicast address of the final destination nodes. 415.El 416.Ss Options only for IPv6 targets 417.Bl -tag -width indent 418.It Fl 6 419Use IPv6 regardless of how the target is resolved. 420.It Fl b Ar bufsiz 421Set socket buffer size. 422.It Fl e Ar gateway 423Specifies to use 424.Ar gateway 425as the next hop to the destination. 426The gateway must be a neighbor of the sending node. 427.It Fl k Ar addrtype 428Generate ICMPv6 Node Information Node Addresses query, rather than echo-request. 429.Ar addrtype 430must be a string constructed of the following characters. 431.Bl -tag -width Ds -compact 432.It Ic a 433requests unicast addresses from all of the responder's interfaces. 434If the character is omitted, 435only those addresses which belong to the interface which has the 436responder's address are requests. 437.It Ic c 438requests responder's IPv4-compatible and IPv4-mapped addresses. 439.It Ic g 440requests responder's global-scope addresses. 441.It Ic s 442requests responder's site-local addresses. 443.It Ic l 444requests responder's link-local addresses. 445.It Ic A 446requests responder's anycast addresses. 447Without this character, the responder will return unicast addresses only. 448With this character, the responder will return anycast addresses only. 449Note that the specification does not specify how to get responder's 450anycast addresses. 451This is an experimental option. 452.El 453.It Fl N 454Probe node information multicast group address 455.Pq Li ff02::2:ffxx:xxxx . 456.Ar host 457must be string hostname of the target 458(must not be a numeric IPv6 address). 459Node information multicast group will be computed based on given 460.Ar host , 461and will be used as the final destination. 462Since node information multicast group is a link-local multicast group, 463outgoing interface needs to be specified by 464.Fl I 465option. 466.Pp 467When specified twice, the address 468.Pq Li ff02::2:xxxx:xxxx 469is used instead. 470The former is in RFC 4620, the latter is in an old Internet Draft 471draft-ietf-ipngwg-icmp-name-lookup. 472Note that KAME-derived implementations including 473.Fx 474use the latter. 475.It Fl O 476Generate ICMPv6 Node Information supported query types query, 477rather than echo-request. 478.Fl s 479has no effect if 480.Fl O 481is specified. 482.It Fl u 483By default, 484.Nm 485asks the kernel to fragment packets to fit into the minimum IPv6 MTU. 486The 487.Fl u 488option 489will suppress the behavior in the following two levels: 490when the option is specified once, the behavior will be disabled for 491unicast packets. 492When the option is more than once, it will be disabled for both 493unicast and multicast packets. 494.It Fl Y 495Same as 496.Fl y , 497but with old packet format based on 03 draft. 498This option is present for backward compatibility. 499.Fl s 500has no effect if 501.Fl y 502is specified. 503.It Fl y 504Generate ICMPv6 Node Information DNS Name query, rather than echo-request. 505.Fl s 506has no effect if 507.Fl y 508is specified. 509.It Ar IPv6-hops 510IPv6 addresses for intermediate nodes, 511which will be put into type 0 routing header. 512.It Ar IPv6-host 513IPv6 address of the final destination node. 514.El 515.Ss Experimental options only for IPv6 target 516.Bl -tag -width indent 517.It Fl E 518Enables transport-mode IPsec encapsulated security payload. 519.It Fl Z 520Enables transport-mode IPsec authentication header. 521.El 522.Pp 523When using 524.Nm 525for fault isolation, it should first be run on the local host, to verify 526that the local network interface is up and running. 527Then, hosts and gateways further and further away should be 528.Dq pinged . 529Round-trip times and packet loss statistics are computed. 530If duplicate packets are received, they are not included in the packet 531loss calculation, although the round trip time of these packets is used 532in calculating the round-trip time statistics. 533When the specified number of packets have been sent 534(and received) 535or if the program is terminated with a 536.Dv SIGINT , 537a brief summary is displayed, showing the number of packets sent and 538received, and the minimum, mean, maximum, and standard deviation of 539the round-trip times. 540.Pp 541If 542.Nm 543receives a 544.Dv SIGINFO 545(see the 546.Cm status 547argument for 548.Xr stty 1 ) 549signal, the current number of packets sent and received, and the 550minimum, mean, maximum, and standard deviation of the round-trip times 551will be written to the standard output. 552.Pp 553This program is intended for use in network testing, measurement and 554management. 555Because of the load it can impose on the network, it is unwise to use 556.Nm 557during normal operations or from automated scripts. 558.Sh ICMP PACKET DETAILS 559An IP header without options is 20 bytes. 560An 561.Tn ICMP 562.Tn ECHO_REQUEST 563packet contains an additional 8 bytes worth of 564.Tn ICMP 565header followed by an arbitrary amount of data. 566When a 567.Ar packetsize 568is given, this indicated the size of this extra piece of data 569(the default is 56). 570Thus the amount of data received inside of an IP packet of type 571.Tn ICMP 572.Tn ECHO_REPLY 573will always be 8 bytes more than the requested data space 574(the 575.Tn ICMP 576header). 577.Pp 578If the data space is at least eight bytes large, 579.Nm 580uses the first eight bytes of this space to include a timestamp which 581it uses in the computation of round trip times. 582If less than eight bytes of pad are specified, no round trip times are 583given. 584.Sh DUPLICATE AND DAMAGED PACKETS 585The 586.Nm 587utility will report duplicate and damaged packets. 588Duplicate packets should never occur when pinging a unicast address, 589and seem to be caused by 590inappropriate link-level retransmissions. 591Duplicates may occur in many situations and are rarely 592(if ever) 593a good sign, although the presence of low levels of duplicates may not 594always be cause for alarm. 595Duplicates are expected when pinging a broadcast or multicast address, 596since they are not really duplicates but replies from different hosts 597to the same request. 598.Pp 599Damaged packets are obviously serious cause for alarm and often 600indicate broken hardware somewhere in the 601.Nm 602packet's path (in the network or in the hosts). 603.Sh TRYING DIFFERENT DATA PATTERNS 604The 605(inter)network 606layer should never treat packets differently depending on the data 607contained in the data portion. 608Unfortunately, data-dependent problems have been known to sneak into 609networks and remain undetected for long periods of time. 610In many cases the particular pattern that will have problems is something 611that does not have sufficient 612.Dq transitions , 613such as all ones or all zeros, or a pattern right at the edge, such as 614almost all zeros. 615It is not 616necessarily enough to specify a data pattern of all zeros (for example) 617on the command line because the pattern that is of interest is 618at the data link level, and the relationship between what you type and 619what the controllers transmit can be complicated. 620.Pp 621This means that if you have a data-dependent problem you will probably 622have to do a lot of testing to find it. 623If you are lucky, you may manage to find a file that either 624cannot 625be sent across your network or that takes much longer to transfer than 626other similar length files. 627You can then examine this file for repeated patterns that you can test 628using the 629.Fl p 630option of 631.Nm . 632.Sh IPv4 TTL DETAILS 633The 634.Tn TTL 635value of an IP packet represents the maximum number of IP routers 636that the packet can go through before being thrown away. 637In current practice you can expect each router in the Internet to decrement 638the 639.Tn TTL 640field by exactly one. 641.Pp 642The 643.Tn TCP/IP 644specification recommends setting the 645.Tn TTL 646field for 647.Tn IP 648packets to 64, but many systems use smaller values 649.No ( Bx 4.3 650uses 30, 651.Bx 4.2 652used 15). 653.Pp 654The maximum possible value of this field is 255, and most 655.Ux 656systems set 657the 658.Tn TTL 659field of 660.Tn ICMP ECHO_REQUEST 661packets to 255. 662This is why you will find you can 663.Dq ping 664some hosts, but not reach them with 665.Xr telnet 1 666or 667.Xr ftp 1 . 668.Pp 669In normal operation 670.Nm 671prints the ttl value from the packet it receives. 672When a remote system receives a ping packet, it can do one of three things 673with the 674.Tn TTL 675field in its response: 676.Bl -bullet 677.It 678Not change it; this is what 679.Bx 680systems did before the 681.Bx 4.3 tahoe 682release. 683In this case the 684.Tn TTL 685value in the received packet will be 255 minus the 686number of routers in the round-trip path. 687.It 688Set it to 255; this is what current 689.Bx 690systems do. 691In this case the 692.Tn TTL 693value in the received packet will be 255 minus the 694number of routers in the path 695.Em from 696the remote system 697.Em to 698the 699.Nm Ns Em ing 700host. 701.It 702Set it to some other value. 703Some machines use the same value for 704.Tn ICMP 705packets that they use for 706.Tn TCP 707packets, for example either 30 or 60. 708Others may use completely wild values. 709.El 710.Sh EXIT STATUS 711The 712.Nm 713utility exits with one of the following values: 714.Bl -tag -width indent 715.It 0 716At least one response was heard from the specified 717.Ar host . 718.It 2 719The transmission was successful but no responses were received. 720.It any other value 721An error occurred. 722.El 723.Sh EXAMPLES 724The following will send ICMPv6 echo request to 725.Li dst.foo.com . 726.Bd -literal -offset indent 727ping -6 -n dst.foo.com 728.Ed 729.Pp 730The following will probe hostnames for all nodes on the network link attached to 731.Li wi0 732interface. 733The address 734.Li ff02::1 735is named the link-local all-node multicast address, and the packet would 736reach every node on the network link. 737.Bd -literal -offset indent 738ping -6 -y ff02::1%wi0 739.Ed 740.Pp 741The following will probe addresses assigned to the destination node, 742.Li dst.foo.com . 743.Bd -literal -offset indent 744ping -6 -k agl dst.foo.com 745.Ed 746.Sh SEE ALSO 747.Xr netstat 1 , 748.Xr icmp 4 , 749.Xr icmp6 4 , 750.Xr inet6 4 , 751.Xr ip6 4 , 752.Xr ifconfig 8 , 753.Xr routed 8 , 754.Xr traceroute 8 755.Xr traceroute6 8 756.Rs 757.%A A. Conta 758.%A S. Deering 759.%T "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification" 760.%N RFC 2463 761.%D December 1998 762.Re 763.Rs 764.%A Matt Crawford 765.%T "IPv6 Node Information Queries" 766.%N draft-ietf-ipngwg-icmp-name-lookups-09.txt 767.%D May 2002 768.%O work in progress material 769.Re 770.Sh HISTORY 771The 772.Nm 773utility appeared in 774.Bx 4.3 . 775The 776.Nm ping6 777utility with IPv6 support first appeared in the WIDE Hydrangea IPv6 778protocol stack kit. 779.Pp 780IPv6 and IPsec support based on the KAME Project 781.Pq Pa http://www.kame.net/ 782stack was initially integrated into 783.Fx 4.0 . 784.Pp 785The 786.Nm ping6 787utility was merged to 788.Nm 789in Google Summer of Code 2019. 790.Sh AUTHORS 791The original 792.Nm 793utility was written by 794.An Mike Muuss 795while at the US Army Ballistics 796Research Laboratory. 797.Sh BUGS 798Many Hosts and Gateways ignore the IPv4 799.Tn RECORD_ROUTE 800option. 801.Pp 802The maximum IP header length is too small for options like 803.Tn RECORD_ROUTE 804to be completely useful. 805.No There Ap s 806not much that can be done about this, however. 807.Pp 808Flood pinging is not recommended in general, and flood pinging the 809broadcast address should only be done under very controlled conditions. 810.Pp 811The 812.Fl v 813option is not worth much on busy hosts. 814