PING(8) Maintenance Commands and Procedures PING(8)
NAME
ping - send ICMP (ICMP6) ECHO_REQUEST packets to network hosts
SYNOPSIS
/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]
DESCRIPTION
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.
OPTIONS
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.
OPERANDS
host The network host
EXAMPLES
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
EXIT STATUS
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.
SEE ALSO
icmp(4P),
icmp6(4P),
attributes(7),
ifconfig(8),
in.routed(8),
ndd(8),
netstat(8),
rpcinfo(8),
traceroute(8)DIAGNOSTICS
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.
May 21, 2015 PING(8)