Training
Module
Manage network service settings for Windows devices using PowerShell cmdlets - Training
This module covers the PowerShell modules and cmdlets that are used to configure network settings for Windows devices.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
By Mark Russinovich
Published: March 30, 2023
Download PsTools (5 MB)
PsPing implements Ping functionality, TCP ping, latency and bandwidth measurement. Use the following command-line options to show the usage for each test type:
Copy PsPing onto your executable path. Typing "psping" displays its usage syntax.
PsPing implements Ping functionality, TCP ping, latency and bandwidth measurement. Use the following command-line options to show the usage for each test type:
Usage:
psping -? [i|t|l|b\]
Parameter | Description |
---|---|
-? I | Usage for ICMP ping. |
-? T | Usage for TCP ping. |
-? L | Usage for latency test. |
-? B | Usage for bandwidth test. |
ICMP ping usage:
psping [[-6]|[-4]] [-h [buckets | <val1>,<val2>,...]] [-i <interval>] [-l <requestsize>[k|m] [-q] [-t|-n <count>] [-w <count>] <destination>
Parameter | Description |
---|---|
-h | Print histogram (default bucket count is 20). |
If you specify a single argument, it's interpreted as a bucket count and the histogram will contain that number of buckets covering the entire time range of values. Specify a comma-separated list of times to create a custom histogram (e.g. "0.01,0.05,1,5,10"). | |
-i | Interval in seconds. Specify 0 for fast ping. |
-l | Request size. Append 'k' for kilobytes and 'm' for megabytes. |
-n | Number of pings or append 's' to specify seconds e.g. '10s'. |
-q | Don't output during pings. |
-t | Ping until stopped with Ctrl+C and type Ctrl+Break for statistics. |
-w | Warmup with the specified number of iterations (default is 1). |
-4 | Force using IPv4. |
-6 | Force using IPv6. |
For high-speed ping tests use -q and -i 0.
TCP ping usage:
psping [[-6]|[-4]] [-h [buckets | <val1>,<val2>,...]] [-i <interval>] [-l <requestsize>[k|m] [-q] [-t|-n <count>] [-w <count>] <destination:destport>
Parameter | Description |
---|---|
-h | Print histogram (default bucket count is 20). |
If you specify a single argument, it's interpreted as a bucket count and the histogram will contain that number of buckets covering the entire time range of values. Specify a comma-separated list of times to create a custom histogram (e.g. "0.01,0.05,1,5,10"). | |
-i | Interval in seconds. Specify 0 for fast ping. |
-l | Request size. Append 'k' for kilobytes and 'm' for megabytes. |
-n | Number of pings or append 's' to specify seconds e.g. '10s'. |
-q | Don't output during pings. |
-t | Ping until stopped with Ctrl+C and type Ctrl+Break for statistics. |
-w | Warmup with the specified number of iterations (default is 1). |
-4 | Force using IPv4. |
-6 | Force using IPv6. |
For high-speed ping tests use -q and -i 0.
TCP and UDP latency usage:
server:
psping [[-6]|[-4]] [-f] <-s source:sourceport>
client:
psping [[-6]|[-4]] [-f] [-u] [-h [buckets | <val1>,<val2>,...]] [-r] <-l requestsize>[k|m]] <-n count> [-w <count>] <destination:destport>
Parameter | Description |
---|---|
-f | Open source firewall port during the run. |
-u | UDP (default is TCP). |
-h | Print histogram (default bucket count is 20). |
If you specify a single argument, it's interpreted as a bucket count and the histogram will contain that number of buckets covering the entire time range of values. Specify a comma-separated list of times to create a custom histogram (e.g. "0.01,0.05,1,5,10"). | |
-l | Request size. Append 'k' for kilobytes and 'm' for megabytes. |
-n | Number of sends/receives. Append 's' to specify seconds e.g. '10s' |
-r | Receive from the server instead of sending. |
-w | Warmup with the specified number of iterations (default is 5). |
-4 | Force using IPv4. |
-6 | Force using IPv6. |
-s | Server listening address and port. |
The server can serve both latency and bandwidth tests and remains active until you terminate it with Control-C.
TCP and UDP bandwidth usage:
server:
psping [[-6]|[-4]] [-f] <-s source:sourceport>
client:
psping [-b] [[-6]|[-4]] [-f] [-u] [-h [buckets | <val1>,<val2>,...]] [-r] <-l requestsize>[k|m]] <-n count> [-i <outstanding>] [-w <count>] <destination:destport>
Parameter | Description |
---|---|
-f | Open source firewall port during the run. |
-u | UDP (default is TCP). |
-b | Bandwidth test. |
-h | Print histogram (default bucket count is 20). |
If you specify a single argument, it's interpreted as a bucket count and the histogram will contain that number of buckets covering the entire time range of values. Specify a comma-separated list of times to create a custom histogram (e.g. "0.01,0.05,1,5,10"). | |
-i | Number of outstanding I/Os (default is min of 16 and 2x CPU cores). |
-l | Request size. Append 'k' for kilobytes and 'm' for megabytes. |
-n | Number of sends/receives. Append 's' to specify seconds e.g. '10s' |
-r | Receive from the server instead of sending. |
-w | Warmup for the specified iterations (default is 2x CPU cores). |
-4 | Force using IPv4. |
-6 | Force using IPv6. |
-s | Server listening address and port. |
The server can serve both latency and bandwidth tests and remains active until you terminate it with Control-C.
This command executes an ICMP ping test for 10 iterations with 3 warmup iterations:
psping -n 10 -w 3 marklap
To execute a TCP connect test, specify the port number. The following command executes connect attempts against the target as quickly as possible, only printing a summary when finished with the 100 iterations and 1 warmup iteration:
psping -n 100 -i 0 -q marklap:80
To configure a server for latency and bandwidth tests, simply specify
the -s
option and the source address and port the server will bind to:
psping -s 192.168.2.2:5000
A buffer size is required to perform a TCP latency test. This example measures the round trip latency of sending an 8KB packet to the target server, printing a histogram with 100 buckets when completed:
psping -l 8k -n 10000 -h 100 192.168.2.2:5000
This command tests bandwidth to a PsPing server listening at the target
IP address for 10 seconds and produces a histogram with 100 buckets.
Note that the test must run for at least one second after warmup for a
histogram to generate. Simply add -u
to have PsPing perform a UDP
bandwidth test.
psping -b -l 8k -n 10000 -h 100 192.168.2.2:5000
Download PsTools (5 MB)
PsTools
PsPing is part of a growing kit of Sysinternals command-line tools that aid in the administration of local and remote systems named PsTools.
Runs on:
Training
Module
Manage network service settings for Windows devices using PowerShell cmdlets - Training
This module covers the PowerShell modules and cmdlets that are used to configure network settings for Windows devices.