Pathping is one of the extremely useful built-in Windows network utilities that allows you to check the packet loss on a route to some remote network node (server or router), information about latency (delay) on a network, and also to understand at what stages of the packet transmission these losses or delays are happening. The pathping.exe utility has been included into the Windows since Windows NT/2000 and is located in the %windir%\System32 directory. It is also present in modern OSs like Windows 10 and Widows Server 2016/2019.
The utility combines the capabilities of two other standard Windows network utilities: ping and tracert, and also works on the basis of the ICMP protocol. The pathing first performs a route tracing to a remote node (like tracert), and then polls the destination node and all transit nodes using ICMP echo requests like ping. In this way, it is possible to obtain information about the losses at each stage of the transmission of network packets between your computer and remote server.
Info. Only network devices such as routers, L3 switches, firewalls and servers support the ICMP protocol. You can’t verify packet loss on simple network equipment (like hub or L2 switch) using pathping command.
Pathping returns the packet loss rate for each router, so you can identify routers, with a large number of losses that interfere with normal network operation.
Open a command prompt as an administrator and run the command:
Without parameters, the command help is displayed.
Usage: pathping [-g host-list] [-h maximum_hops] [-i address] [-n] [-p period] [-q num_queries] [-w timeout [-4] [-6] target_name
Required parameter is target_name only. This is the IP address or DNS name of the remote host to which you want to estimate data transfer losses. The remaining parameters are optional:
- g host-list — Loose source route along host-list;
- h maximum_hops — Maximum number of hops to search for target;
- i address — Use the specified source address;
- n — Do not resolve addresses to hostnames;
- p period — Wait period milliseconds between pings;
- q num_queries — Number of queries per hop;
- w timeout —Wait timeout milliseconds for each reply;
- 4 — Force using IPv4;
- 6 — Force using IPv6.
Run the pathping against a certain server:
- After you press Enter, pathping will determine the route to the remote node (as a tracert) and display it;
- Then pathping starts sending ICMP requests (like a ping) to each transit node and to the destination host;
- ICMP requests are send for some time. 100 packets are send to each node. The pathping utility indicates the approximate execution time of all echo request queries. The more nodes in the route, the longer the pathping command runs. In our case, for 14 hops, the pathping operation time was 350 seconds (250 ms per ICMP request);
- After polling all the routers, the utility calculates the average response time, the number of sent requests and received answers, and the percentage of losses. These metrics are calculated for each router in the trace.
- 0% — means that no packets are lost;
- 100% loss means that the ability to respond to ICMP requests is disabled on router (or firewall is used);
- Losses of 1% or higher may indicate poor or incorrect operation of the network or a transit routers. In this case, it is recommended to contact the provider or network administrators.
Consider some more useful examples of using the pathping command:
To send 10 echo requests to each of the routers (the command is executed 10 times faster than pathping without parameters):
Pathping -q 10 -n theitbros.com
To send ICMP requests more quickly (every 120 ms):
pathping -p 120 theitbros.com
To poll only the first 5 routers:
pathping -h 5 theitbros.com
You can redirect the results of the pathping command to a text file for further analysis:
pathping theitbros.com.> C:\tmp\pathping.txt