Explore the Python Network Tester on GitHub and Docker

Building My Python Network Tester

Over the past couple of months, I’ve been tinkering with a side project: a Python Network Tester. The idea came directly from my time troubleshooting EKS and ECS solutions, where I often walked customers through a familiar set of network checks. While the tool may feel basic, it reflects the common gauntlet of tests I relied on whenever network concerns came up.

What I noticed in those scenarios was that, more often than not, the “network issue” wasn’t really the network at all. Instead, it was a misunderstanding of how networks behave—or how much application performance itself can influence perceived network performance. Sometimes, the simplest visibility into the basics is all someone needs to figure out their next step.

After plenty of tweaking, debugging, and refactoring, I’ve reached a point where I’m ready to share the project publicly.


Using AI as a Programming Partner

One thing that helped me along the way was experimenting with Amazon’s Kiro Agentic AI. I often struggle with getting projects off the ground and into the right mindset, so I leaned on Kiro to help me draft code. But I made sure to carefully read every single line it suggested. That way, I understood exactly what the code was doing, which made refactoring and debugging much easier when things didn’t behave as expected.

In short, Kiro became a surprisingly good programming buddy. Beyond code, it was especially helpful for writing comments and documentation—an area I’ve always wrestled with, unsure if I’m writing too little or too much. Having that support gave me confidence to keep the docs clear and useful.


Try It Out

If you’d like to explore the project yourself:

Feedback, recommendations, or issues are welcome—please report them in the GitHub Issues tab. I plan to keep iterating on this project to see what features make the most sense and where it can provide the most value.

Build a Python Network Troubleshooting Tool

While settling into my new job, I’ve also been tinkering with some side projects. One of them was inspired by the countless network connectivity and latency issues I used to troubleshoot as a Cloud Support Engineer.

I’ll admit — networking has always been one of my weaker areas in IT. I can get around it well enough, but shifting back into the “network mindset” is always a bit of a slog. There are so many different tests to remember, each useful for diagnosing a different type of issue.

So, just for fun, I decided to build a comprehensive network troubleshooting tool that bundles together the tests I ran most often. I chose Python for the project, partly to refresh my skills with the language.

As an extra experiment, I’ve been trying out AWS’s new IDE, Kiro, and giving “vibe coding” a spin. That said, I’m not blindly trusting whatever the GenAI assistant spits out. I’m reviewing every line of code to make sure I understand it, confirm it makes sense, and check for any security concerns.

Right now, the tool can run DNS resolution, ping, and TCP connectivity tests. You can feed it a URL or IP, specify which port to test, and set how many ping attempts to run. Since I mostly supported containerized solutions at AWS, I also built a container image so the tool can run in that environment. As a bonus, I’m bundling in the most common network testing CLI tools, so you can run one-off checks directly inside the container.

It’s still a work in progress, but I’m happy with how it’s shaping up. Once I feel confident enough, I might even push it to a public repo. And while I don’t recommend relying on “vibe coding” as a strategy, it can be handy for breaking through roadblocks. At the end of the day, though, I’d rather refactor the code myself so it works exactly the way I want.