ping - send ICMP (ICMP6) ECHO_REQUEST packets to network hosts
/usr/sbin/ping host [timeout]
/usr/sbin/ping -s [-l | -U] [-abdDLnrRv] [-A addr_family]
[-c traffic_class] [-g gateway [-g gateway...]]
[-N next_hop_router] [-F flow_label] [-I interval]
[-i interface] [-P tos] [-p port] [-t ttl] host
[data_size] [npackets]
The utility ping utilizes the ICMP (ICMP6 in
IPv6) protocol's ECHO_REQUEST datagram to elicit an ICMP
(ICMP6) ECHO_RESPONSE from the specified host or
network gateway. If host responds, ping will print:
host is alive
on the standard output and exit. Otherwise, after timeout
seconds, it will write:
no answer from host
The default value of timeout is 20 seconds.
When you specify the s flag, sends one datagram per second (adjust
with -I) and prints one line of output for every ECHO_RESPONSE
that it receives. ping produces no output if there is no response. In
this second form, ping computes round trip times and packet loss
statistics; it displays a summary of this information upon termination or
timeout. The default data_size is 56 bytes, or you can specify
a size with the data_size command-line argument. If you specify the
optional npackets, ping sends ping requests until it
either sends npackets requests or receives npackets
replies.
When using ping for fault isolation, first ping the
local host to verify that the local network interface is running.
The following options are supported:
-A addr_family
Specify the address family of the target host.
addr_family can be either
inet or
inet6. Address family
determines which protocol to use. For an argument of
inet, IPv4 is
used. For
inet6, IPv6 is used.
By default, if the name of a host is provided, not the literal
IP address, and a valid IPv6 address exists in the name service
database, ping will use this address. Otherwise, if the name service
database contains an IPv4 address, it will try the IPv4 address.
Specify the address family inet or inet6 to override
the default behavior. If the argument specified is inet, ping
will use the IPv4 address associated with the host name. If none exists,
ping will state that the host is unknown and exit. It does not try to
determine if an IPv6 address exists in the name service database.
If the specified argument is inet6, ping uses the
IPv6 address that is associated with the host name. If none exists,
ping states that the host is unknown and exits.
-D
Don't allow probe packets to be fragmented. If the packet
size exceeds the MTU of a gateway it passes through, the gateway will reject
it.
-F flow_label
Specify the flow label of probe packets. The value must
be an integer in the range from 0 to 1048575. This option is valid only on
IPv6.
-I interval
Turn on the statistics mode and specify the interval
between successive transmissions. The default is one second. See the
discussion of the -s option. The minimum interval is 0.01 seconds. It
is an error to specify a smaller interval.
-L
Turn off loopback of multicast packets. Normally, members
are in the host group on the outgoing interface, a copy of the multicast
packets will be delivered to the local machine.
-N next_hop_router
Specify a next-hop router so that the probe packet goes
through the specified router along its path to the target host. This option
essentially bypasses the system routing table and leaves the probe packet
header unmodified. Only one next-hop router can be specified.
-P tos
Set the type of service (tos) in probe packets to
the specified value. The default is zero. The value must be an integer in the
range from 0 to 255. Gateways also in the path can route the probe packet
differently, depending upon the value of tos that is set in the probe
packet. This option is valid only on IPv4.
-R
Record route. Sets the IPv4 record route option, which
stores the route of the packet inside the IPv4 header. The contents of the
record route are only printed if the -v and -s options are
given. They are only set on return packets if the target host preserves the
record route option across echos, or the -l option is given. This
option is valid only on IPv4.
-U
Send UDP packets instead of ICMP
(ICMP6) packets. ping sends UDP packets to consecutive
ports expecting to receive back ICMP (ICMP6)
PORT_UNREACHABLE from the target host.
-a
ping all addresses, both IPv4 and IPv6, of the
multihomed destination. The output appears as if ping has been run once
for each IP address of the destination. If this option is used together
with -A, ping probes only the addresses that are of the
specified address family. When used with the -s option and
npackets is not specified, ping continuously probes the
destination addresses in a round robin fashion. If npackets is
specified, ping sends npackets number of probes to each
IP address of the destination and then exits.
-b
Bypass the global IPsec policy and send and receive
packets in the clear for this connection only. This option can be used to
troubleshoot network connectivity independent of IPsec. Because this option
bypasses system-wide policy for this connection, it can only be used by
superuser or a user granted the sys_net_config privilege.
-c traffic_class
Specify the traffic class of probe packets. The value
must be an integer in the range from 0 to 255. Gateways along the path can
route the probe packet differently, depending upon the value of
traffic_class set in the probe packet. This option is valid only on
IPv6.
-d
Set the SO_DEBUG socket option.
-g gateway
Specify a loose source route gateway so that the probe
packet goes through the specified host along the path to the target host. The
maximum number of gateways is 8 for IPv4 and 127 for IPv6. Note that some
factors such as the link MTU can further limit the number of gateways
for IPv6.
-i interface_address
Specify the outgoing interface address to use for
multicast packets for IPv4 and both multicast and unicast packets for IPv6.
The default interface address for multicast packets is determined from the
(unicast) routing tables. interface_address can be a literal IP
address, for example, 10.123.100.99, or an interface name, for example,
eri0, or an interface index, for example 2.
-l
Use to send the probe packet to the given host and back
again using loose source routing. Usually specified with the -R option.
If any gateways are specified using -g, they are visited twice, both to
and from the destination. This option is ignored if the -U option is
used.
-n
Show network addresses as numbers. ping normally
does a reverse name lookup on the IP addresses it extracts from the packets
received. The -n option blocks the reverse lookup, so ping
prints IP addresses instead of host names.
-p port
Set the base UDP port number used in
probes. This option is used with the -U option. The default base
port number is 33434. The ping utility starts setting the
destination port number of UDP packets to this base and increments it
by one at each probe.
-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 been dropped by the router daemon. See
in.routed(8).
-s
Send one datagram per second and collect
statistics.
-t ttl
Specify the IPv4 time to live, or IPv6 hop limit, for
unicast and multicast packets. The default time to live (hop limit) for
unicast packets can be set with the
ndd module,
/dev/icmp, using
the
icmp_ipv4_ttl variable for IPv4 and the
icmp_ipv6_hoplimit
variable for IPv6. The default time to live (hop limit) for multicast is one
hop. See
EXAMPLES. For further information, see
ndd(8).
-v
Verbose output. List any ICMP (ICMP6)
packets, other than replies from the target host.
Example 1 Using ping With IPv6
This example shows ping sending probe packets to all the
IPv6 addresses of the host xyz, one at a time. It sends an
ICMP6 ECHO_REQUEST every second until the user interrupts
it.
istanbul% ping -s -A inet6 -a xyz
PING xyz: 56 data bytes
64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=0. time=0.479 ms
64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=1. time=0.843 ms
64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=2. time=0.516 ms
64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=3. time=4.943 ms
64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=4. time=0.485 ms
64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=5. time=2.201 ms
^C
----xyz PING Statistics----
6 packets transmitted, 6 packets received, 0% packet loss
round-trip (ms) min/avg/stddev = 0.479/1.583/4.943/1.823
Example 2 Using ndd to Set the
icmp_ipv6_hoplimit
This example shows the ndd module, /dev/icmp, used
to set the icmp_ipv6_hoplimit.
# ndd -set /dev/icmp icmp_ipv6_hoplimit 100
The following exit values are returned:
0
Successful operation; the machine is alive.
non-zero
An error has occurred. Either a malformed argument has
been specified, or the machine was not alive.
ping: warning: ICMP responses received, but name service
lookups are taking a while. Use ping -n to disable name service
lookups.
When the -n flag is not specified, ping
tries to lookup the name corresponding to the IP address that it received via
name services. If name services are unavailable, it may take time before the
system properly times out the name service lookups. As a result, it may appear
that no ICMP replies are being received when they in fact are. This diagnostic
indicates that this has occurred and indicates that there are valid responses
and that using the -n flag will stop this from occurring.
ping: warning: timing accuracy diminished --
setsockopt SO_TIMESTAMP failed
By default, the system attempts to use the
SO_TIMESTAMP socket option to allow for more accurate time stamps that
reflect when the ICMP echo replies were received by the system as opposed to
when they were received by the ping command. These differences may
occur because an operator stopped the process or because ping was
blocked up behind a name service look up. When this diagnostic is emitted, the
ping command will continue to function, but it will be doing the time
stamping itself, which may cause the timing intervals reported to be longer
than they actually are.