The ping command is a Command Prompt command used to test the ability of the source computer to reach a specified destination computer. The ping command is usually used as a simple way to verify that a computer can communicate over the network with another computer or network device.
The ping command operates by sending Internet Control
Message Protocol (ICMP) Echo Request messages to the destination computer and
waiting for a response.
How many of those responses are returned, and how long it
takes for them to return, are the two major pieces of information that the ping
command provides.
For example, you might find that there are no responses when
pinging a network printer, only to find out that the printer is offline and its
cable needs replaced. Or maybe you need to ping a router to verify that your
computer can connect to it, to eliminate it as a possible cause for a
networking issue.
Ping Command Availability
The ping command is available from within the Command Prompt
in Windows 10, Windows 8, Windows 7, Windows Vista, and Windows XP operating
systems. The ping command is also available in older versions of Windows like
Windows 98 and 95.
The ping command can also be found in Command Prompt in the
Advanced Startup Options and System Recovery Options repair/recovery menus.
Note: The availability of certain ping command switches and
other ping command syntax might differ from operating system to operating
system.
Ping Command Syntax
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [-w timeout] [-R] [-S srcaddr] [-p] [-4] [-6] target [/?]
Tip: See How to Read Command Syntax if you're not sure how
to interpret the ping command syntax as its described above or in the table
below.
-t Using
this option will ping the target until you force it to stop by using Ctrl-C.
-a This ping
command option will resolve, if possible, the hostname of an IP address target.
-n count This
option sets the number of ICMP Echo Requests to send, from 1 to 4294967295. The
ping command will send 4 by default if -n isn't used.
-l size Use this
option to set the size, in bytes, of the echo request packet from 32 to 65,527.
The ping command will send a 32-byte echo request if you don't use the -l
option.
-f Use this
ping command option to prevent ICMP Echo Requests from being fragmented by
routers between you and the target. The -f option is most often used to
troubleshoot Path Maximum Transmission Unit (PMTU) issues.
-i TTL This option
sets the Time to Live (TTL) value, the maximum of which is 255.
-v TOS This option
allows you to set a Type of Service (TOS) value. Beginning in Windows 7, this
option no longer functions but still exists for compatibility reasons.
-r count Use
this ping command option to specify the number of hops between your computer
and the target computer or device that you'd like to be recorded and displayed.
The maximum value for count is 9, so use the tracert command instead if you're
interested in viewing all the hops between two devices.
-s count Use
this option to report the time, in Internet Timestamp format, that each echo
request is received and echo reply is sent. The maximum value for count is 4,
meaning that only the first four hops can be time stamped.
-w timeout Specifying
a timeout value when executing the ping command adjusts the amount of time, in
milliseconds, that ping waits for each reply. If you don't use the -w option,
the default timeout value of 4000 is used, which is 4 seconds.
-R This option tells the ping command to trace the round trip path.
-S srcaddr Use
this option to specify the source address.
-p Use this
switch to ping a Hyper-V Network Virtualization provider address.
-4 This
forces the ping command to use IPv4 only but is only necessary if target is a
hostname and not an IP address.
-6 This
forces the ping command to use IPv6 only but as with the -4 option, is only
necessary when pinging a hostname.
target This is the
destination you wish to ping, either an IP address or a hostname.
/? Use the
help switch with the ping command to show detailed help about the command's
several options.
Note: The -f, -v, -r, -s, -j, and -k options work when
pinging IPv4 addresses only. The -R and -S options only work with IPv6.
Other less commonly used switches for the ping command exist
including [-j host-list], [-k host-list], and [-c compartment]. Execute ping /?
from the Command Prompt for more information on these options.
Tip: You can save the ping command output to a file using a
redirection operator. See How to Redirect Command Output to a File for
instructions or see our Command Prompt Tricks list for more tips.
Ping Command Examples
ping -n 5 -l 1500 www.google.com
In this example, the ping command is used to ping the
hostname www.google.com. The -n option tells the ping command to send 5 ICMP
Echo Requests instead of the default of 4, and the -l option sets the packet
size for each request to 1500 bytes instead of the default of 32 bytes.
The result displayed in the Command Prompt window will look
something like this:
Pinging www.google.com [74.125.224.82] with 1500 bytes of
data:
Reply from 74.125.224.82: bytes=1500 time=68ms TTL=52
Reply from 74.125.224.82: bytes=1500 time=68ms TTL=52
Reply from 74.125.224.82: bytes=1500 time=65ms TTL=52
Reply from 74.125.224.82: bytes=1500 time=66ms TTL=52
Reply from 74.125.224.82: bytes=1500 time=70ms TTL=52
Ping statistics for 74.125.224.82:
Packets: Sent = 5,
Received = 5, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 65ms,
Maximum = 70ms, Average = 67ms
The 0% loss reported under Ping statistics for 74.125.224.82
tells me that each ICMP Echo Request message sent to www.google.com was
returned. This means that, as far as my network connection goes, I can communicate
with Google's website just fine.
ping 127.0.0.1
In the above example, I'm pinging 127.0.0.1, also called the
IPv4 localhost IP address or IPv4 loopback IP address, without options.
Using the ping command to ping 127.0.0.1 is an excellent way
to test that Windows' network features are working properly but it says nothing
about your own network hardware or your connection to any other computer or
device.
The IPv6 version of this test would be ping ::1.
ping -a 192.168.1.22
In this example, I'm asking the ping command to find the
hostname assigned to the 192.168.1.22 IP address, but to otherwise ping it as
normal.
Pinging J3RTY22 [192.168.1.22] with 32 bytes of data:
Reply from 192.168.1.22: bytes=32 time
As you can see, the ping command resolved the IP address I
entered, 192.168.1.22, as the hostname J3RTY22, and then executed the remainder
of the ping with default settings.
ping -t -6 SERVER
In this example, I force the ping command to use IPv6 with
the -6 option and continue to ping SERVER indefinitely with the -t option.
Pinging SERVER [fe80::fd1a:3327:2937:7df3%10] with 32 bytes
of data:
Reply from fe80::fd1a:3327:2937:7df3%10: time=1ms
Reply from fe80::fd1a:3327:2937:7df3%10: time
I interrupted the ping manually with Ctrl-C after seven replies.
Also, as you can see, the -6 option produced IPv6 addresses.
Tip: The number after the % in the replies generated in this
ping command example is the IPv6 Zone ID, which most often indicates the
network interface used. You can generate a table of Zone IDs matched with your
network interface names by executing netsh interface ipv6 show interface. The
IPv6 Zone ID is the number in the Idx column.
Ping Related Commands
0 comments: