home *** CD-ROM | disk | FTP | other *** search
- December 11, 1993 PING (BSD 4.4)
-
- This following is a hand translation of the man page that comes with the
- BSD 4.4 ping. The original man page is also included for those with the
- means to do a better formatting job. - Adam
-
- ***************** VERY IMPORTANT *****************
-
- DO NOT USE THE FLOOD PING OR PRELOAD PING FACILITIES UNLESS YOU ARE
- AUTHORISED TO DO SO, AND ONLY THEN WHEN THERE IS A *VERY* GOOD REASON.
- USE OF THESE TWO FACILITIES WILL PUT A VERY HEAVY STRAIN ON A NETWORK.
-
-
- ------------------
-
- Copyright (c) 1985, 1991, 1993
- The Regents of the University of California. All rights reserved.
-
- This product includes software developed by the University of
- California, Berkeley and its contributors.
-
- 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 - send ICMP ECHO_REQUEST packets to network hosts
-
- ping -dfLnqRrv
- -c <count> -I <ifaddr> -i <wait> -l <preload> -p <pattern> -s <packetsize>
- -t <ttl> <host>
-
- DESCRIPTION
-
- Ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit
- an ICMP ECHO_RESPONSE from a host or gateway.
-
- ECHO_REQUEST datagrams ("pings") have an IP and ICMP header, followed by
- a struct timeval and then an arbitrary number of "pad" bytes used to
- fill out the packet.
-
- The options are as follows:
-
- c <count> Stop after sending (and receiving) <count> ECHO_RESPONSE
- packets.
-
- d Set the SO_DEBUG option on the socket being used.
-
- f Flood ping.
- Outputs packets as fast as they come back or one hundred
- times per second, whichever is more. For every
- ECHO_REQUEST sent a period "." is printed, while for every
- ECHO_REPLY received a backspace is printed. This provides
- a rapid display of how many packets are being dropped.
- Only the super-user may use this option.
-
- This can be very hard on a network and should be used with
- caution.
-
- ***** DO NOT USE THIS UNLESS YOU ARE AUTHORISED TO DO SO AND HAVE
- A VERY GOOD REASON. - Adam
-
-
- i <wait> Wait <wait> seconds between sending each packet.
- The default is to wait for one second between each packet.
- This option is incompatible with the f option.
-
- l <preload> If preload is specified, ping sends that many packets as
- fast as possible before falling into its normal mode of
- behavior.
-
- ***** AVOID THIS TOO! - Adam
-
- n Numeric output only.
- No attempt will be made to lookup symbolic names for host
- addresses.
-
- p <pattern> You may specify up to 16 "pad" bytes to fill out the
- packet you send.
-
- This is useful for diagnosing data-dependent problems in a
- network. For example, -p ff will cause the sent packet to
- be filled with all ones.
-
- q Quiet output.
- Nothing is displayed except the summary lines at startup
- time and when finished.
-
- R Record route.
- Includes the RECORD_ROUTE option in the ECHO_REQUEST
- packet and displays the route buffer on returned packets.
-
- Note that the IP header is only large enough for nine such
- routes. Many hosts ignore or discard this option.
-
- r Bypass the normal routing tables and send directly to a
- host on an attached network.
-
- If the host is not on a directly-attached network, an
- error is returned. This option can be used to ping a local
- host through an interface that has no route through it
- (e.g., after the interface was dropped by routed).
-
- s <size> Specifies the number of data bytes to be sent.
- The default is 56, which translates into 64 ICMP data
- bytes when combined with the 8 bytes of ICMP header data.
-
- v Verbose output.
- ICMP packets other than ECHO_RESPONSE that are received
- are listed.
-
-
- In addition, the following options may be used for multicast pings:
-
- I <ifaddr> Transmit using the specified interface address.
-
- L Disable the loopback, so the transmitting host doesn't see
- the ICMP requests.
-
- t <ttl> Use the specified time-to-live.
-
- Note: these have no effect available in this Risc OS release as
- multicasting is not supported. However, should multicasting be
- supportted in future, I will re-enable this code. - Adam
-
-
- When using ping for fault isolation, it should first be run on the local
- host, to verify that the local network interface is up and running.
-
- Then, hosts and gateways further and further away should be "pinged".
- Round-trip times and packet loss statistics are computed. If duplicate
- packets are received, they are not included in the packet loss
- calculation, although the round trip time of these packets is used in
- calculating the minimum/average/maximum round-trip time numbers. When
- the specified number of packets have been sent (and received) or if the
- program is terminated with ESCAPE a brief summary is displayed.
-
- This program is intended for use in network testing, measurement and
- management. Because of the load it can impose on the network, it is
- unwise to use ping during normal operations or from automated scripts.
-
-
- ICMP PACKET DETAILS
-
- An IP header without options is 20 bytes. An ICMP ECHO_REQUEST packet
- contains an additional 8 bytes worth of ICMP header followed by an
- arbitrary amount of data. When a 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 ICMP ECHO_REPLY will always
- be 8 bytes more than the requested data space (the ICMP header).
-
- If the data space is at least eight bytes large, ping 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.
-
-
- DUPLICATE AND DAMAGED PACKETS
-
- Ping will report duplicate and damaged packets. Duplicate packets should
- never occur, and seem to be caused by inappropriate link-level
- retransmissions. Duplicates may occur in many situations and are rarely
- (if ever) a good sign, although the presence of low levels of duplicates
- may not always be cause for alarm.
-
- Damaged packets are obviously serious cause for alarm and often indicate
- broken hardware somewhere in the ping packet's path (in the network or
- in the hosts).
-
-
- TRYING DIFFERENT DATA PATTERNS
-
- The (inter)network layer should never treat packets differently
- depending on the data contained in the data portion. Unfortunately,
- data-dependent problems have been known to sneak into networks and
- remain undetected for long periods of time. In many cases the particular
- pattern that will have problems is something that doesn't have
- sufficient "transitions", such as all ones or all zeros, or a pattern
- right at the edge, such as almost all zeros. It isn't necessarily enough
- to specify a data pattern of all zeros (for example) on the command line
- because the pattern that is of interest is at the data link level, and
- the relationship between what you type and what the controllers transmit
- can be complicated.
-
- This means that if you have a data-dependent problem you will probably
- have to do a lot of testing to find it. If you are lucky, you may manage
- to find a file that either can't be sent across your network or that
- takes much longer to transfer than other similar length files. You can
- then examine this file for repeated patterns that you can test using the
- p option of ping.
-
- TTL DETAILS
-
- The TTL value of an IP packet represents the maximum number of IP routers
- that the packet can go through before being thrown away.
- In current practice you can expect each router in the Internet to decrement
- the TTL field by exactly one.
-
- The TCP/IP specification states that the TTL field for TCP packets should
- be set to 60, but many systems use smaller values (4.3 BSD uses 30, 4.2 used
- 15).
-
- The maximum possible value of this field is 255, and most Unix systems set
- the TTL field of ICMP ECHO_REQUEST packets to 255.
- This is why you will find you can "ping" some hosts, but not reach them
- with telnet or ftp.
-
- In normal operation ping prints the ttl value from the packet it receives.
- When a remote system receives a ping packet, it can do one of three things
- with the TTL field in its response:
-
- o Not change it; this is what Berkeley Unix systems did before the
- 4.3 tahoe release.
-
- o In this case the TTL value in the received packet will be 255 minus
- the number of routers in the round-trip path.
-
- o Set it to 255; this is what current Berkeley Unix systems do. In
- this case the TTL value in the received packet will be 255 minus
- the number of routers in the path from the remote system to the
- pinging host.
-
- o Set it to some other value. Some machines use the same value for
- ICMP packets that they use for TCP packets, for example either 30
- or 60. Others may use completely wild values.
-
-
- BUGS
-
- Many Hosts and Gateways ignore the RECORD_ROUTE option.
-
- The maximum IP header length is too small for options like RECORD_ROUTE
- to be completely useful. There's not much that that can be done about
- this, however.
-
- Flood pinging is not recommended in general, and flood pinging the
- broadcast address should only be done under very controlled conditions.
-
-
- SEE ALSO
-
- netstat, ifconfig, routed.
-
-
- HISTORY
-
- The command appeared in BSD 4.3.
-
- ------------------
-
- ***************** VERY IMPORTANT *****************
-
- DO NOT USE THE FLOOD PING OR PRELOAD PING FACILITIES UNLESS YOU ARE
- AUTHORISED TO DO SO, AND ONLY THEN WHEN THERE IS A *VERY* GOOD REASON.
- USE OF THESE TWO FACILITIES WILL PUT A VERY HEAVY STRAIN ON A NETWORK.
-
- ------------------
-
- Ported to Risc OS by Adam Goodfellow. 03 Dec 1994.
-
- Other Acorn TCP/IP compatible ports from NetBSD 4.4:
- traceroute Route tracing utility *
- resolve cacheing resolver
-
-
- * this requires the internet module to be patched in order to fix a
- bug/defficiency with raw IP sockets in NetBSD 4.3. This patch is
- included with traceroute.
-