When my internet starts crawling, I don’t just restart my router and hope for the best. I grab these three network diagnostic tools and systematically work through my network to find the real culprit.
Network device discovery
I always start with Angry IP Scanner because I need to know what devices are actually connected to my network.
A few days ago, my latency was spiking when playing online games. I could have suspected that my neighbors secretly got my Wi-Fi password, but I decided to check what was actually on my network first. That’s when I fired up Angry IP Scanner to get a complete picture of every device connected to my home network.
I downloaded Angry IP Scanner from its official download site and launched the 64-bit installer. After installation, the interface automatically detects my network range, so I just hit Start and watch as it discovers devices. The tool color-codes everything nicely, with red indicating inactive addresses, blue indicating responding devices, and green indicating devices with open ports.
My recent scan took just 36 seconds to check 254 possible addresses and found four active hosts. Right away, I could see my GL.iNet router at 192.168.8.1 with its hostname showing as “console.gl-inet.com.” This confirmed my network layout and showed me exactly which IP addresses were occupied.
During that investigation, Angry IP Scanner showed all my usual devices plus one that seemed particularly busy. After some digging, I discovered it was just my smart TV automatically downloading YouTube videos like it does every month. Not some neighbor stealing my Wi-Fi after all.
What makes the tool particularly useful is that it displays MAC addresses and open ports alongside the IP addresses. This helps me identify devices even when their hostnames aren’t immediately obvious. I always export the results to CSV format so I can compare against future scans and spot when something new appears on my network.
Continuous path monitoring
After mapping my network with Angry IP Scanner, I need to understand how my internet traffic behaves on its path to the outside world. PingPlotter gives me continuous visibility into latency and packet loss across every hop between my PC and any destination on the internet.
I downloaded the free version from PingPlotter’s official site and installed it on my Windows PC. After the 14-day trial expires, it converts to PingPlotter Free, which still gives me everything I need for WAN troubleshooting. To use it, I simply enter my target like “google.com” in the Host field and hit Start. I find that a 15-30 minute capture usually gives me enough information to understand what’s happening with my connection.
The main interface shows exactly what I need to diagnose internet problems. The top section displays each hop from my router to the destination servers, with crucial metrics including IP address, hostname, average latency, and packet loss percentage.
I love using Perplexity for research. However, I noticed its service slowing down. Instead of assuming it was my internet connection, I decided to test both Google and Perplexity to see what was actually happening.
My Google test showed clean performance throughout the entire path. Starting at hop 1 with my router at 2.8ms latency, moving through my ISP’s infrastructure, and reaching Google’s servers with a solid 10.3ms response time. The timeline stayed green with steady latency and minimal packet loss.
However, when I tested Perplexity’s servers, the story took a completely different turn. While my local hops still performed well, the timeline graph lit up with massive red spikes everywhere. The final hop to Perplexity showed 55.2% packet loss with latency jumping all over the place. This visual comparison made it crystal clear that Perplexity’s servers were struggling under load, not my internet connection.
What makes PingPlotter invaluable is how it pinpoints exactly where problems occur. Without this visual evidence, I might have spent hours troubleshooting my own equipment or even complaining to my ISP about their service. Now I know to just wait for Perplexity to sort out their server issues instead of wasting time on my end.
Precise throughput testing
While PingPlotter tells me about internet stability and latency, it can’t measure actual bandwidth capacity. This is where iPerf comes in. It measures raw throughput between devices on my local network, helping me identify possible bottlenecks within my own system.
You can run the test between any device that has iPerf installed, whether that’s your NAS and PC, a DIY laptop Plex Media Server and smart TV, or simply between two PCs. For my example, I’ll be testing the connection between my Windows PC and Android smartphone.
To do so, I downloaded the Windows PC version from its provided Sourceforge link and the Android app from the Play Store. I set my Windows PC as the server, and my phone as the client for testing.
On my Windows PC, I open Command Prompt in the iPerf2 folder and run this command to start the server:
./iperf-2.2.1-win64.exe -s -p 5001
SYNTAX: ./executable_name, -s [server], -p [port]
This launches iPerf2 as a server on port 5001.
For the client device I want to test the connection against (my Android smartphone), I opened the iPerf app and entered the following command for TCP testing:
iperf -c 192.168.8.111 -p 5001 -t 30 -P 4
SYNTAX: iperf -c [client], -p [port], -t [time], P [number of parallel streams]
This connects to my PC’s IP address, runs for 30 seconds, and uses four parallel streams. In this test, iPerf2 showed that my smartphone was able to transfer 1.42 GB of data to my Windows PC in 30 seconds. This is considered decent speed, as my router is using Wi-Fi 5 and my phone is connected through the 2.5Ghz band.
For UDP testing, the command changes slightly:
iperf -c 192.168.8.111 -p 5001 -b 100M -t 10
SYNTAX: iperf -s [client], -p [port], -b [load], -t [time]
This tests UDP performance with a 100 Mbps load for 10 seconds.
Based on the results, my phone successfully transferred over 100 Mbps of data through a UDP connection.
What makes iPerf2 particularly valuable is its ability to test both TCP and UDP modes. TCP testing shows realistic throughput for file transfers and streaming, while UDP mode reveals possible packet loss under stress conditions.
I stuck with iPerf2 instead of iPerf3 in my example because of Windows compatibility issues. Microsoft has documented performance problems with iPerf3 on Windows systems, making iPerf2 the more reliable choice for my setup. Of course, if you’re testing between Linux devices, iPerf3 would work better.
These tools are most effective when used in sequence. I start with Angry IP Scanner to map my network, then use PingPlotter to check my WAN connection, and iPerf to test bandwidth between my devices.
This systematic approach has helped me resolve issues ranging from routing problems to misbehaving IoT devices. The key is having reliable tools and knowing how to interpret their results. With these three free utilities, I can diagnose most network problems in under 30 minutes instead of spending hours guessing.