ping(1M) System Administration Commands ping(1M)NAMEping - send ICMP (ICMP6) ECHO_REQUEST packets to network hosts
SYNOPSIS
/usr/sbin/ping host [timeout]
/usr/sbin/ping -s [-l | -U] [-abdlLnrRv] [-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 sec‐
ond 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 ver‐
ify 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 data‐
base, 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 deter‐
mine 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.
-F flow_label
Specify the flow label of probe packets. The value must be an inte‐
ger in the range from 0 to 1048575. This option is valid only on
IPv6.
-D
Turn off fragmentation. For IPv4, this means setting the Don't
Fragment bit. For IPv4 and IPv6, this means do not allow fragmenta‐
tion as the datagrams are sent. If the data_size exceeds the MTU,
then ping might report that sending failed due to Message too long.
-I interval
Turn on the statistics mode and specify the interval between suc‐
cessive transmissions. The default is one second. See the discus‐
sion of the -s option.
-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 speci‐
fied.
-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 destina‐
tion. 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 trou‐
bleshoot 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 privi‐
lege.
-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 net‐
work, an error is returned. This option can be used to ping a local
host through an interface that has been dropped by the router dae‐
mon. See in.routed(1M).
-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, seendd(1M).
-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 speci‐
fied, or the machine was not alive.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │network/ftp │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOifconfig(1M), in.routed(1M), ndd(1M), netstat(1M), rpcinfo(1M), tracer‐
oute(1M), attributes(5), icmp(7P), icmp6(7P)SunOS 5.11 28 Sep 2009 ping(1M)