The Windows command line is hiding these 6 awesome network troubleshooting tools


Network issues can often be infuriating because everything seems to work as it’s supposed to—except your internet connection. Then your internet connection starts working fine, but websites take forever to load. Then there are those frustrating intermittent connection issues that come and go seemingly at random.

Fret not, because Windows offers a slew of handy network troubleshooting tools. Each of the ones I’m sharing below can be run with a single command in Windows PowerShell. They won’t solve every issue, but in many cases they can help you narrow down or even identify where the problem lies, which is the first step toward fixing it.

Before we start, I recommend running PowerShell as an administrator because some of the following commands require administrator privileges.

A screenshot of Windows 11 search box with powershell typed in it. The Windows Powershell right click context menu is open.

Ipconfig

The first step of every network troubleshooting process

Typing the ipconfig command should be the first step of every troubleshooting process because it gives you information about your PC’s network adapters, your router’s IP address (listed as Default Gateway), and your PC’s local IP address. To see the full picture, which includes additional information, type:

Ipconfig /all

If you’ve been having issues with your DNS server, such as getting a DNS Server Is Not Responding error, you can run the following command to flush your PC’s DNS cache:

ipconfig /flushdns

Next, refreshing your PC’s IP address can be a surprisingly effective way to solve various network issues. While the two commands listed below are far from being miracle workers, they cost nothing to run. The only issue is that if you have any firewall rules set up on your router that include your PC’s IP address, you’ll need to adjust them after refreshing your PC’s IP address. To refresh your PC’s IP address, type the following:

ipconfig /release
ipconfig /renew

Before we move on, you should know that typing ipconfig /? will show you a list of every available parameter, along with an explanation of what each one does, which can come in handy when troubleshooting network issues.

Ping

Find out the state of your connection

running ping in PowerShell.

ping is another simple yet effective network troubleshooting tool that can help you narrow down the source of your network issues. For instance, let’s say your Wi-Fi or Ethernet icon shows you’re connected, but your browser won’t load any websites. The first step is to check whether your router is working properly. To do this, simply type ping followed by your router’s IP address. In my case, I need to type the following:

ping 192.168.0.1

As you can see, my router is working fine, meaning the problem likely isn’t with my local network. The next step is to ping a reliable server that’s available 24/7. google.com is a solid choice:

ping google.com

If everything works, that’s swell. But if it doesn’t, and you can, for instance, reach google.com on your phone while using mobile data, the issue could stem from your ISP.

Nslookup

Performing a DNS lookup can tell you how your DNS server is performing

This is another handy troubleshooting tool that can identify issues with your DNS server. For instance, I found out that my ISP’s DNS server wasn’t the fastest after I had switched ISPs and ran this command to see how it performed. As you can see in the first screenshot, when I run the command while using my ISP’s DNS server, I always get two DNS request timed out messages before receiving the IP address of the website I’m testing.

However, when I switch my DNS server to Cloudflare’s 1.1.1.1, I get no such errors. In other words, my ISP’s DNS server doesn’t have trouble resolving websites—it just takes a bit longer to do so. This led me to switch my DNS server to Cloudflare’s 1.1.1.1 a while ago. The general command you want to use here is:

nslookup nameofthewebsite.com

All you have to do is replace nameofthewebsite.com with a real website, such as howtogeek.com. If you want to perform the lookup using a different DNS server, simply add its IP address to the end of the command, like so:

nslookup howtogeek.com 1.1.1.1

Running this command can be handy when your download speed is maxed out, but websites are slow to load, or when you can’t reach a specific website even though every other website works fine.

Netsh

A collection of handy network troubleshooting tools

Running netsh in PowerShell.

The netsh (Network Shell) command has a number of uses that can prove quite handy when troubleshooting network issues. For instance, running:

netsh winsock reset
netsh int ip reset

will reset the TCP/IP stack and reset the Windows Sockets (Winsock) catalog to its default settings, which can solve various connection problems. Don’t forget to reboot your PC after running these commands. You can also run:

netsh wlan show profiles 

To see the Wi-Fi profiles saved on your PC. You can delete a specific profile (if you no longer use it or are having issues connecting to that Wi-Fi network) with:

netsh wlan delete profile name="Name of the profile you want to delete"

Tracert

Trace the route of data packets

Running tracert in PowerShell.

Running tracert can show you the entire path packets take from your PC to the website you’re trying to reach. It also shows the delay at each stop and can help you identify where the problem lies, if there is one.

Traceroute works by sending a sequence of packets with increasing TTL (Time to Live) values. Each packet expires at a different hop, allowing tracert to identify every node along the route (your router, your ISP’s routers, external routers, and so on). The first packet has a TTL of 1, the second a TTL of 2, the third a TTL of 3—you know the drill.

If there’s a sudden latency spike at one specific router that persists for the rest of the route, there might be an issue at the hop that introduced the spike. Similarly, seeing Request timed out messages at certain hops is usually fine (it can mean a specific router doesn’t respond to traceroute requests or takes too long to respond), but if the final hop times out, there might be an issue somewhere on the route, or the destination simply doesn’t respond to traceroute requests. If you also can’t open the website in your browser, for instance, you may have a network issue.

Restart-NetAdapter

Sometimes, all you need to do is restart your network adapter

Running Restart-NetAdapter in PowerShell.

This command is as simple as they get, but restarting your network adapter can be the quick fix you need for your network woes. You can do this manually, but running the command is faster. All you need to type into PowerShell is:

Restart-NetAdapter -Name "The name of the active adapter"

You can find the name of your network adapter by running ipconfig. Since my active network adapter is listed as Ethernet 4 (I have two Ethernet ports on my motherboard), I have to type:

Restart-NetAdapter -Name "Ethernet 4"

If you don’t want to bother looking up the name of your network adapter, just run:

Get-NetAdapter | Restart-NetAdapter

This automatically restarts all of your network adapters.


Don’t be afraid of PowerShell, embrace it

Seeing a command-line interface can be daunting—I know that because I’ve been using Windows PCs since I was a teenager. But if you start with a few simple commands, you’ll realize that PowerShell is anything but scary. You can use it to solve common Windows issues, disable Windows features that aren’t available in Settings, and run all kinds of simple yet effective repair tools.



Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


My phone is full of life-tracking apps, but it became increasingly apparent that they don’t talk to each other. So, I decided to try logging my sleep, spending, routines, food, and work in Excel for a week to see whether consolidating everything would make the data easier to understand. By Sunday, patterns had started to emerge that I wasn’t previously aware of.

If you want to try the same experiment, download a blank copy of this workbook template for free. After you click the link, you’ll find the download button in the top-right corner of your screen.

What my daily tracking actually looked like

Several apps, one disconnected routine

A frustrated woman holds her head and screams while surrounded by smartphones and multiple notification bell icons. Credit: Lucas Gouveia/How-To Geek | Prostock-studio/Shutterstock

On paper, my routine wasn’t complicated. But in practice, it meant jumping between apps throughout the day. Sleep, workouts, food, spending, and work all lived in different places, and while each one worked fine in isolation, none of them shared context. A bad night of sleep never showed up next to too much screen time, and I never explicitly linked a stretch of low-energy habits to a slow day at my desk.

That separation is what prompted me to try using Excel. I set up a single workbook with five named tabs: Sleep, Habits, Food & Drink, Work, and Spending, plus another Dashboard worksheet that brought all metrics together. Nothing complex—just a shared structure where everything could exist in the same format instead of being scattered across apps.

OS

Windows, macOS, iPhone, iPad, Android

Free trial

1 month

Microsoft 365 includes access to Office apps like Word, Excel, and PowerPoint on up to five devices, 1 TB of OneDrive storage, and more.


The structure that made the experiment work

Building a system simple enough to survive a week

Each tab stayed intentionally lightweight so that I would actually keep using it.

Sleep went into a named table (T_Sleep), where I logged bedtime and wake time in hh:mm format. Hours slept were calculated automatically using:

=MOD([@[Wake Time]]-[@Bedtime], 1)*24


Illustration of puzzle pieces connected, showing a problem linked to the =MOD function in Excel, with a connection leading to the solution and Excel icons around.


How to Use Excel’s MOD Function to Solve Real-World Problems

MOD is more versatile than you might think.

Instead of overengineering the setup, I recorded screen time manually on a scale from 1 (low) to 3 (high) based on how much time I had spent on my phone before bed. Conditional formatting handled the feedback, with lower sleep values turning red and better nights shifting green.

Habit tracking lived in T_Habits, with one row per habit per day and a simple checkbox for completion. From there, I built T_HabitComp, which counted completed habits per day using:

=COUNTIFS(T_Habits[Day], [@Day], T_Habits[Completed], TRUE)

That fed directly into the dashboard, alongside a split between general habits and movement-focused ones like workouts and walks.

Food and drink sat in T_FoodDrink, structured as three entries per day for meals. Coffee was logged at the top of each day’s entry, and takeouts were flagged with checkboxes. It gave a rough sense of how each day played out, even if I wasn’t labeling it that way while logging it.

Work went into T_Work, where I logged hours worked and a productivity score (out of 10) based entirely on instinct. Some days felt focused, others felt scattered, and I reflected that directly in the score. Conditional formatting helped those differences stand out visually without needing extra analysis.

Spending lived in T_Spending, and I treated it differently from the rest. It was more of a separate contextual layer than part of the same routine loop. Data validation drop-down categories like groceries, takeout, coffee, impulse purchases, subscriptions, and transport helped me see where money was going, and I used a separate PivotTable to break down spending by category.

If you add new rows, remember to right-click the PivotTable and click Refresh to reflect those changes.

One small detail kept the whole system manageable: Excel tables automatically expand as new rows are added. That meant I never had to fix ranges or adjust formulas mid-week—structured references meant that everything scaled as I went.

The dashboard turned separate logs into one picture

Everything finally came together

A life-tracking dashboard in Excel, with summary cards at the top and trend charts beneath.

Once I started logging data, the dashboard quickly became the only part of the workbook I cared about.

At the top, I created summary cards: Average Sleep, Total Spending, Habit Completion, Average Productivity, Exercise Sessions, and Takeout Orders. Each one pulled directly from the underlying tables and updated automatically as I logged entries.

Below that, Excel charts showed how the week unfolded. Sleep appeared as a line over time; habits, coffee consumption, and screen time moved in columns; and work productivity sat alongside as its own timeline. Finally, I used a PivotChart to visualize spending over the week. Then, I removed the Y-axis from all the charts, as the point here was to emphasize relative movement and patterns, not exact values.


3D illustration of the Microsoft Excel logo in front of an empty spreadsheet.


I use these 3 Excel formulas to organize my daily life

I refuse to let anyone tell me that Microsoft Excel is only for accountants.

That’s where the system started to make sense. Sleep, habits, and productivity formed the clearest loop. When I stayed up late scrolling, I could see it the next morning in lower sleep totals, and those days tended to feel less structured overall. When I kept habits consistent—especially workouts and walks—the rest of the day followed a more stable rhythm.

Spending didn’t follow the same pattern as the rest, and I stopped trying to force it into one. Instead, I noticed something else: on less structured days, takeout and impulse purchases showed up more often. Coffee tended to cluster on busier, slightly chaotic workdays, but it didn’t drive anything on its own—it just appeared alongside those stretches.

Individually, none of this was surprising, but seeing it layered together is what made it noticeable.


What I’ll take away from a week in Excel

For that week, everything lived in one workbook instead of separate apps. When I wanted the full picture, glancing at the dashboard made the connections in my routine much easier to notice. It felt like a useful reset—something I’ll probably return to when things feel too scattered.

That said, it didn’t replace the convenience of dedicated apps. Sleep trackers are still better at collecting data automatically, and spending apps still do a better job of capturing transactions without effort. But the experiment did change how I think about tracking in general—not as separate tools, but as one system where everything sits in the same frame.



Source link