Essential command tools to fix virtually any networking issue on Windows 10

Windows 10 ships with many command-line tools to help you manage network configurations and resolve issues, and in this guide, we’ll show you how to use eight of them.

Windows 10 makes it easy to connect to a network and the internet using a wired or wireless connection. However, sometimes, you may still need to manage settings manually or troubleshoot connectivity problems, and this is when the many built-in command-line tools can come in handy.

Regardless of the issue, Windows 10 is likely to have a Command Prompt tool that can help you resolve the most common problems. For instance, ipconfig and ping are among the most basic tools to view network settings and troubleshoot connectivity issues. If you are dealing with a routing problem, the route command can display the current routing table to examine and determine related issues, and with the nslookup tool, you can diagnose DNS problems.

You also have tools like arp to troubleshoot switching problems and find out the MAC address from an IP address. The netstat command-line tool allows you to view statistics for all the connections. And you can use the netsh tool to display and change many aspects of the network configuration, such as checking the current configuration, reset settings, managing Wi-Fi and Ethernet settings, enabling or disabling the firewall, and a lot more.

In this Windows 10 guide, we will highlight eight Command Prompt tools that should help you manage and troubleshoot networking problems on your device and across the network.

1. IPConfig

On Windows 10, ipconfig (Internet Protocol configuration) is among the most common networking tool that allows you to query and show current TCP/IP (Transmission Control Protocol/Internet Protocol) network configuration. The command also includes options to perform different actions, such as refresh Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS) settings.

Display network configuration

To get started with ipconfig, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to view a summary of the TCP/IP network configuration and press Enter:ipconfig

    Quick tip: In Command Prompt, you can use the cls command to clear the screen after you no longer need the information to continue running commands without clutter.

  4. Type the following command to view all the TCP/IP network configuration and press Enter:ipconfig /all

Once you complete the steps, you will have an overview of the PC’s entire TCP/IP configuration.

Refresh network settings

To release and renew the network configuration with Command Prompt, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to remove the current network configuration and press Enter:ipconfig /release
  4. Type the following command to reconfigure the network configuration and press Enter:ipconfig /renew

After you complete the steps, the first command will clear the current configuration, and the second command will fetch new settings from the DHCP server to resolve connectivity issues. If the dynamically assigned settings have not expired in the server, it is common to see the same IP address reconfigure on the device.

Refresh DNS settings

To flush and rebuild the current DNS cache entries on Windows 10, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to clear the DNS system cache on the device and press Enter:ipconfig /fludns

Once you complete the steps, the entries stored in the DNS cache of Windows 10 will be deleted and refreshed. Usually, this command will come in handy when you cannot connect to another computer or website using the host or domain name due to outdated information in the local cache.

2. Ping

Ping is another essential networking tool because it allows you to send ICMP (Internet Control Message Protocol) echo request messages to test the IP connectivity with other devices, whether it is another computer in the network or internet service.

Test device connectivity

To test the network connectivity with the ping command, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to send ICMP echo requests to test connectivity and press Enter:ping IP-OR-DOMAIN

    In the command, replace IP-OR-DOMAIN with the actual IP address or domain name of the computer or service you want to test.

    For example, this command tests the communication between the local device and router:

    ping 10.1.4.1

    Quick tip: If you use the -a option (for example, ping -a 10.1.4.1), the command will also resolve the address to a hostname.

  4. (Optional) Type the following command to test the local computer networking stack and press Enter:ping 127.0.0.1
    or
    ping loopback

    Quick note: The 127.0.0.1 is a well-known address, and it is referred to as the loopback address. When you run the command, if you get a reply, it means that the networking stack on Windows 10 is up and running. This is the same as pinging the device using its own network address.

Once you complete the steps, if you receive four successful echo replies from the destination, it means that the device can talk with the remote host. If the request times out, then there is a problem that many reasons can cause.

If you are dealing with connectivity problems, start pinning the local computer to ensure the network stack is working. Then test the connection to the router to make sure the issue is not in the local network. Then try to ping a website to find out whether there is a problem with the internet connection or the remote host.

You should also be aware that if the remote device or service blocks the ICMP protocol, the ping command will always timeout.

Diagnose packet loss activity

The ping command includes a number of options that you can access with the ping /? command, and one of these options is the ability to set the time you want to run the tool, which can come in handy to examine packet lost when you are troubleshooting connectivity problems.

To run the ping command for a specific period of time, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to continue pinging until stopped and press Enter:ping IP-OR-DOMAIN -t

    In the command, replace IP-OR-DOMAIN with the actual IP address or domain name of the computer or service you want to test.

    For example, this command tests the communication between the local device and router for 60 seconds:

    ping 10.1.4.1 -t

  4. Use the Control + C keyboard shortcut to stop the ping.

After you complete the steps, you will be able to see the successful and lost requests that can give you a clue on how to continue troubleshooting and resolving the connectivity problem. In a local network, administrators usually use the ping command to find out when a service goes down quickly. Also, the tool can be used as a quick way to know when the server is up and running again when restarting a server remotely.

3. Tracert

Windows 10 also includes tracert (Trace Route), a diagnostic tool to determine the network path to a destination using a series of ICMP echo requests. However, unlike the ping command, each request includes a TTL (Time to Live) value that increases by one each time, allowing to display a list of the route the requests have taken and duration.

To trace the route to a destination with Command Prompt, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to understand the path taken to destination and press Enter:tracert IP-OR-DOMAIN

    In the command, replace IP-OR-DOMAIN with the actual IP address or domain name for the destination you want to troubleshoot.

    For example, this command allows you to view the path the packets are taking to reach Google.com:

    tracert google.com

  4. (Optional) Type the following command to adjust the hop counts to the destination and press Enter:tracert -h HOP-COUNT IP-OR-DOMAIN

    In the command, replace IP-OR-DOMAIN with the actual IP address or domain name for the destination you want to troubleshoot and HOP-COUNT for the number of hops you want to trace.

    For example, this command puts the limit of 5 hops (nodes) to the destination:

    tracert -h 5 google.com

Once you complete the steps, you will know if the destination is reachable or if there is a networking problem along the way.

Similar to the ping tool, tracert includes several options, which you can view with the tracert /? command.

4. NSLookup

The nslookup (Name Server Lookup) tool can show valuable details to troubleshoot and resolve DNS-related issues. The tool includes an interactive and non-interactive mode. However, you will be using the non-interactive mode more often than not, which only means you will typing the full command to obtain the information you need.

You can use this command to display the default DNS name and address of the local device, determine the domain name of an IP address or the name servers for a specific node.

To get started with nslookup on Windows 10, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to look up the local DNS name and address and press Enter:nslookup

    Quick note: This command also happens to open the nslookup interactive mode.

  4. Confirm the current DNS information.
  5. Type the following command to exit the interactive mode and press Enter:exit
  6. Type the following command to determine the name and address of a specific server and press Enter:nslookup IP-ADDRESS

    In the command, replace the IP-ADDRESS with the address of the remote device.

    For example, this command looks up the IP address 172.217.165.142 address:

    nslookup 172.217.165.142

  7. Type the following command to determine the address of a specific server and press Enter:nslookup DOMAIN-NAME

    In the command, replace the DOMAIN-NAME with the address of the remote device.

    For example, this command looks up the IP address Google.com address:

    nslookup google.com

After you complete the steps, depending on the command, you will know whether the device has a DNS resolver and the IP address or domain and vise versa of the remote host.

5. NetStat

The netstat (Network Statistics) tool displays statistics for all network connections. It allows you to understand open and connected ports to monitor and troubleshoot networking problems for Windows 10 and apps.

When using the netstat tool, you can list active network connections and listening ports. You can view network adapter and protocols statistics. You can even display the current routing table and much more.

To get started with netstat, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to show all active TCP connections and press Enter:netstat

  4. (Optional) Type the following command to display active connections showing numeric IP address and port number instead of trying to determine the names and press Enter:netstat -n

  5. (Optional) Type the following command to refresh the information at a specific interval and press Enter:netstat -n INTERVAL

    In the command, make sure to replace INTERVAL for the number (in seconds) you want to redisplay the information.

    This example refreshes the command in question every five seconds:

    netstat -n 5

    Quick note: When using the interval parameter, you can terminate the command using the Ctrl + C keyboard shortcut in the console.

Once you run the command, it will return a list of all active connections in four columns, including:

  • Proto: Displays the connection protocol, including TCP or UDP.
  • Local Address: Displays the device’s IP address followed by a semicolon with a port number of the connection. The double-semicolon inside brackets indicates the local IPv6 address. The “0.0.0.0” address also refers to the local address.
  • Foreign Address: Shows the remote computer’s IP (or FQDN) address with the port number after the semicolon port name (for instance, https, http, microsoft-ds, wsd).
  • State: Shows whether the connection is active (established), if the port has been closed (time_wait), and the program has not closed the port (close_wait). Other status available include, closed, fin_wait_1, fin_wait_2, last_ack, listen, syn_received, syn_send, and timed_wait.

6. ARP

Windows 10 maintains an arp (Address Resolution Protocol) table, which stores IP to Media Access Control (MAC) entries that the system has resolved. The arp tool lets you view the entire table, modify the entries, and use it to determine a remote computer’s MAC address.

Usually, you do not need to worry about MAC addresses, but there are scenarios when this information may come in handy. For example, when troubleshooting network problems at the data link layer (switching), or when restricting access or filtering content through the network for specific devices.

To get started with arp on Windows 10, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to view the current arp table cache on Windows 10 and press Enter:`arp -a’

  4. Type the following command to determine the MAC address of a remote device and press Enter:arp -a IP

    In the command, make sure to replace IP for the address of the destination.

    For example, this command reveals the physical address of the 10.1.4.113 destination:

    arp -a 10.1.4.108

  5. Confirm the MAC (physical) address for the remote device.

After you complete the steps, you will be able to view the entire arp table and MAC address of a specific IP address.

If you want to know all the available options, use the arp /? command to list all the options with their corresponding descriptions.

7. Route

The route tool displays the routing table that allows Windows 10 to understand the network and communicate with other devices and services. The tool also offers some options to modify and clear the table as needed.

Like the arp tool, you typically do not have to worry about the routing table, but the command-line tool will come in handy when troubleshooting related problems.

To view or flush the routing table available on Windows 10, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to view the routing table known to Windows 10 and press Enter:route print

  4. Confirm the routing table information.
  5. (Optional) Type the following command to clear the routing table and press Enter:route -f

    Quick note: When running this command, the device will lose network connectivity since the system no longer understands the network topology. After running the command, restart the machine to allow the networking stack to rebuild the routing table. Usually, you should not have to clear the table unless you modified some of the entries and you need to reset the table.

Once you complete the steps, you will understand the routing table and how to clear the information.

You can also use the route /? command to view a list of available options, including options to change networking metrics, specify a gateway, add a new route, and much more. However, it is usually not recommended to modify these settings unless you understand how the network works.

8. Netsh

On Windows 10, netsh (Network Shell) is a legacy command-line tool that allows you to display and change virtually any network configuration. For instance, you can use the tool to view current network configuration, manage wireless connections, reset the network stack to fix most common problems, enable or disable the firewall, and a lot more.

To get started with the netsh command-line tool, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to view a list of the available commands (contexts) and press Enter:netsh /?

  4. Type the following command to view the list of available subcommands (subcontexts) for a specific option and press Enter:netsh CONTEXT-COMMAND

    In the command, change the CONTEXT-COMMAND for the command that includes additional options.

    For example, this command shows the commands available to manage the firewall with netsh:

    netsh advfirewall /?

Once you complete the steps, you will know how to navigate the netsh contexts and subcontexts command to manage networking settings.

Reset system network stack

To reset the network stack to resolve common connectivity problems, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to reset the winsock stack and press Enter:netsh winsock reset

  4. Restart your computer.

After you complete the steps, the winsock configuration will reset, hopefully fixing the problems connecting to a network and the internet.

Export and import network configuration

To export the network configuration with netsh on Windows 10, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to export the current configuration for all the network adapters and press Enter:netsh -c interface dump>PATHTOEXPORTED.txt

    In the command, replace the PATHTOEXPORTED.txt with the path and name of the file to store the configuration.

    For example, the following command exports the settings to the netshconfig.txt file:

    netsh -c interface dump>c:netshconfig.txt

Once you complete the steps, you can open the file with any text editor to view the exported configuration.

Import network configuration

To import the network configuration settings with netsh, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to import the network configuration and press Enter:netsh -c interface dump>PATHTOIMPORTED.txt

    In the command, replace the PATHTOEXPORTED.txt with the path and name of the file you want with the exported configuration.

    For example, the following command imports the settings from the netshconfig.txt file:

    netsh -f c:netshconfig.txt

After you complete the steps, the new networking configuration will be imported and applied to Windows 10.

Enable and disable firewall

To enable the Windows 10 firewall with netsh, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to enable the default firewall and press Enter:netsh advfirewall set currentprofile state on

Once you complete the steps, the Windows Defender Firewall will enable on the device.

Disable firewall

To disable the Windows 10 firewall with netsh, use these steps:

  1. Open Start.
  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.
  3. Type the following command to disable the default firewall and press Enter:netsh advfirewall set currentprofile state off

Once you complete the steps, the Windows Defender Firewall will disable on the device.

On Windows 10, there are many tools you can use to change settings and troubleshoot networking issues using Command Prompt, PowerShell, and graphical applications. However, in this guide, we only focus on getting you started with some of the most common tools available in Command Prompt.

Original Article