The ping command checks whether a specified IPv4 address is reachable and exports corresponding statistics.
ping [ ip ] [ -a source-ip-address | -c count | -d | { -f | ignore-mtu } | -h ttl-value | -nexthop nexthop-ip-address | -i interface-type interface-number | -m time | -n | -name | -p pattern | -q | -r | { -s packetsize | -range [ min min-size | max max-size | step step-size ] * } | -system-time | -t timeout | -tos tos-value | -v | -vpn-instance vpn-instance-name ] * host [ ip-forwarding ]
Parameter | Description | Value |
---|---|---|
ip |
Indicates the IPv4 protocol. If ip is not specified, the IPv4 protocol is used. |
- |
-a source-ip-address |
Specifies the source IP address of the ICMP Echo Request message. If the source IP address is not specified, the IP address of the outbound interface is used as the source IP address of the ICMP Echo Request message. |
The value is in dotted decimal notation. |
-c count |
Specifies the number of times for sending ICMP Echo Request messages. The ping command labels each ICMP Echo Request message with a sequence ID that starts from 1 and is increased by 1. By default, five ICMP Echo Request messages are sent. You can set the number of ICMP Echo Request messages to send by specifying the parameter count, that is, performing a Ping test with multiple Ping packets. In the case of poor network quality, you can set this parameter to a comparatively large value to check the network quality based on the packet loss rate. |
The value is an integer that ranges from 1 to 4294967295. The default value is 5. |
-d |
Indicates that the socket works in debug mode. |
By default, the socket works in non-debug mode. |
-f |
Indicates that packets are not fragmented during transmission. NOTE:
After this parameter is specified, ICMP packets are not fragmented. If the ICMP packet size exceeds the link MTU, the ICMP packet is discarded. If you do not want ICMP packets to be discarded, do not specify this parameter or increase the link MTU. |
- |
-h ttl-value |
Specifies the TTL value. If the TTL field is reduced to 0 during message forwarding, the Layer 3 device that the message reaches sends an ICMP timeout message to the source host, indicating that the destination host is unreachable. |
The value is an integer that ranges from 1 to 255. The default value is 255. |
-nexthop nexthop-ip-address |
Specifies an IP address for the next hop. If you have specified this parameter, the device no longer searches the routing table before sending ICMP Echo Response packets. This process prevents ping failures caused by incorrect routing entries. NOTE:
The specified next hop address must be the next hop address of a directly connected physical interface. When you specify a next hop address, you can configure -i interface-type interface-number to specify an outbound interface. The following conditions must be met to ensure a test success: the specified next hop address must match the outbound interface; the specified outbound interface cannot be a logical interface's member interface. If you have specified a next hop address, you cannot specify a VPN. |
The value is in dotted decimal notation. |
-i interface-type interface-number |
Specifies the outbound interface for sending ICMP Echo Request packets. NOTE:
In load balancing scenarios, if an interface is specified to send ICMP Echo Request packets, all packets are sent from the interface and load balancing is not performed. The interface specified to send ICMP Echo Request packets must be a Layer 3 interface, such as a VLANIF interface. |
- |
-m time |
Specifies the time to wait before sending the next ICMP Echo Request message. Each time the source sends an ICMP Echo Request message using the ping command, the source waits a period of time (500 ms by default) before sending the next ICMP Echo Request message. You can set the time to wait before sending the next ICMP Echo Request message using the parameter time. In the case of poor network condition, the value should be equal to or larger than 500, in milliseconds. |
The value is an integer that ranges from 1 to 10000, in milliseconds. The default value is 500. |
-n |
Uses the value of host as the IP address to spare domain name resolution. |
- |
-name |
Displays the name of the destination host. |
- |
-p pattern |
Specifies pad characters for ICMP Echo Request messages. By configuring pad characters for ICMP Echo Request messages, you can identify a specific message among the large number of received ICMP Echo Reply messages. |
The value is a hexadecimal integer that ranges from 0 to FFFFFFFF. By default, the padding starts from 0x01, and continues in ascending order. |
-q |
Displays only the statistics. If the ping command carries this parameter, the system displays only the statistics information such as the number of sent and received packets, packet loss rate, and minimum, average, and maximum RTTs of the packet. |
By default, the system displays all statistics information. |
-r |
Records the route along which an IP packet is forwarded. When -r is specified, during the transmission of an IP packet, the IP address of each Layer 3 device that the IP packet passes through is added to the Options field. When the IP packet reaches the destination, all IP addresses recorded in the Options field are copied to the ICMP Echo Reply message. In addition, the IP address of each Layer 3 device that the returned IP packet passes through is added to the message. When the ping program receives the ICMP Echo Reply message, IP addresses of the passed Layer 3 devices are displayed. |
By default, the route along which an IP packet is forwarded is not recorded. |
-s packetsize |
Specifies the length of an ICMP Echo Request message, excluding the IP header and ICMP header, that is, performing a Ping test with large-sized Ping packets. |
The value is an integer that ranges from 20 to 9600, in bytes. The default value is 56. |
-range |
Enables the device to send ICMP Echo Request messages with variable payload lengths. NOTE:
The command execution takes a long period if a large number of ICMP Echo Request messages need to be sent. If you want to terminate the command execution, press Ctrl+C. To change the number of ICMP Echo Request messages to be sent, change the values of min min-size and max max-size. The value of min min-size must be smaller than that of max max-size. If both the -range and -c count parameters are specified, the device sends ICMP Echo Request messages of the same payload length for the number of times specified by the -c count parameter. |
|
min min-size |
Specifies the minimum payload length of an ICMP Echo Request message. |
The value is an integer ranging from 20 to 9600, in bytes. The default value is 56. |
max max-size |
Specifies the maximum payload length of an ICMP Echo Request message. |
The value is an integer ranging from 20 to 9600, in bytes. The default value is 9600. |
step step-size |
Specifies the step length of an ICMP Echo Request message. |
The value is an integer ranging from 1 to 1000, in bytes. The default value is 1. |
-system-time |
Displays the system time when the ping packet is sent. |
- |
-t timeout |
Specifies the timeout period to wait for an ICMP Echo Reply message after an ICMP Echo Request message is sent. After the ping command is run, the source sends an ICMP Echo Request message to a destination and waits for an ICMP Echo Reply message. If the destination, after receiving the ICMP Echo Request message, returns an ICMP Echo Reply message to the source within the period specified by the parameter timeout, the destination is reachable. If the destination does not return an ICMP Echo Reply message within the specified period, the source displays that the message times out. Normally, the source receives an ICMP Echo Reply message within 1 to 10 seconds after sending an ICMP Echo Request message. If the transmission speed is low, properly prolong the timeout period. |
The value is an integer that ranges from 0 to 65535, in milliseconds. The default value is 2000. |
-tos tos-value |
Specifies the ToS value of the sent ICMP Echo Request messages. The ToS value is used to set the packet priority. |
The value is an integer that ranges from 0 to 255. The default value is 0. |
-v |
|
- |
-vpn-instance vpn-instance-name |
Specifies the name of a VPN instance. |
The value must be an existing VPN instance name. |
ignore-mtu |
Indicates that the system does not check the interface MTU when a packet is sent. |
- |
host |
Specifies the domain name or IP address of the destination host. |
The value is a string of 1 to 255 case-sensitive characters with spaces not supported. When double quotation marks are used around the string, spaces are allowed in the string. Alternatively, the value can be a valid IPv4 address in dotted decimal notation. |
ip-forwarding |
Indicates that the ping packets are forcibly forwarded through IP on the first node. |
- |
Usage Scenario
The ping command is a common debugging tool for testing the network connectivity by transmitting ICMP Echo messages. It can detect the following items:
Scenario 3: In the case of an unstable network, you can run the ping -c count -t timeout host command to check the quality of the network between the local device and the peer. By analyzing the packet loss rate and average delay in the command output, you can evaluate the network quality. If the network is unreliable, set the packet transmission count (-c) and timeout (-t) to the upper limits. This makes the test result accurate.
Scenario 4: Check the path. You can run the ping -r host command to obtain information about nodes along the path from the local device to the peer.
Prerequisite
Precautions
# Check whether the host at 10.1.1.2 is reachable.
<HUAWEI> ping 10.1.1.2
PING 10.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.2: bytes=56 Sequence=1 ttl=255 time=2 ms
Reply from 10.1.1.2: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 10.1.1.2: bytes=56 Sequence=3 ttl=255 time=1 ms
Reply from 10.1.1.2: bytes=56 Sequence=4 ttl=255 time=1 ms
Reply from 10.1.1.2: bytes=56 Sequence=5 ttl=255 time=1 ms
--- 10.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/1/2 ms
# Check whether the host at 10.1.1.4 is reachable, set the transmission count to 8, and set the period for waiting for an ICMP Echo Reply message to 4000 ms.
<HUAWEI> ping -c 8 -t 4000 10.1.1.4
PING 10.1.1.4: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.4: bytes=56 Sequence=1 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=2 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=3 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=4 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=5 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=6 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=7 ttl=255 time=32 ms
Reply from 10.1.1.4: bytes=56 Sequence=8 ttl=255 time=32 ms
--- 10.1.1.4 ping statistics ---
8 packet(s) transmitted
8 packet(s) received
0.00% packet loss
round-trip min/avg/max = 32/32/32 ms
# Enable the device to send ICMP Echo Request messages with variable payload lengths.
<HUAWEI> ping -range min 56 max 60 192.168.1.9
PING 192.168.1.9: 56-60 data bytes, press CTRL_C to break
Reply from 192.168.1.9: bytes=56 Sequence=1 ttl=255 time=80 ms
Reply from 192.168.1.9: bytes=57 Sequence=2 ttl=255 time=60 ms
Reply from 192.168.1.9: bytes=58 Sequence=3 ttl=255 time=80 ms
Reply from 192.168.1.9: bytes=59 Sequence=4 ttl=255 time=80 ms
Reply from 192.168.1.9: bytes=60 Sequence=5 ttl=255 time=50 ms
--- 192.168.1.9 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 50/70/80 ms
# Check whether the host at 10.1.1.10 is reachable.
<HUAWEI> ping 10.1.1.10
ping 10.1.1.10
PING 10.1.1.10: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.10: bytes=56 Sequence=1 ttl=128 time=1 ms
Reply from 10.1.1.10: bytes=56 Sequence=1 ttl=64 time=1 ms (DUP!)
Reply from 10.1.1.10: bytes=56 Sequence=2 ttl=128 time=1 ms
Reply from 10.1.1.10: bytes=56 Sequence=2 ttl=64 time=1 ms (DUP!)
Reply from 10.1.1.10: bytes=56 Sequence=3 ttl=128 time=1 ms
Reply from 10.1.1.10: bytes=56 Sequence=3 ttl=64 time=1 ms (DUP!)
Reply from 10.1.1.10: bytes=56 Sequence=4 ttl=128 time=1 ms
Reply from 10.1.1.10: bytes=56 Sequence=4 ttl=64 time=1 ms (DUP!)
Reply from 10.1.1.10: bytes=56 Sequence=5 ttl=128 time=1 ms
--- 10.1.1.10 ping statistics ---
5 packet(s) transmitted
9 packet(s) received
4 duplicates
-- somebody's printing up packets
round-trip min/avg/max = 1/0/1 ms
Item |
Description |
---|---|
PING x.x.x.x |
Reachability of the destination host with the IP address as x.x.x.x is tested. |
x data bytes |
Length of a sent ICMP Echo Request message. |
press CTRL_C to break |
The ongoing ping test is terminated after you press Ctrl+C. |
Reply from x.x.x.x |
The destination host responds to the ICMP Echo Request message with an ICMP Echo Reply message that contains the following items:
NOTE:
If a received packet ends with (DUP!), the device has received the Echo Reply messages with repeated sequence number. |
x.x.x.x ping statistics |
Statistics collected after the ping test on the destination host. The statistics include the following information:
|