Inspiration

Calculating IPv4 subnets and checking basic host or port reachability often requires juggling multiple tools or CLI commands. I wanted to build a single, lightweight desktop utility that combines subnet calculations with real-time network diagnostics in a clean, straightforward interface.

What it does

NetPulse & Subnet Helper features two main modules:

  1. Subnet Calculator: Computes CIDR notation, subnet masks, wildcard masks, network and broadcast addresses, host ranges, and total/usable host counts from any IPv4 address.
  2. Network Status Checker: Performs non-blocking ICMP ping requests and TCP port availability checks to verify whether a target host or service is reachable.

How we built it

  • Language & GUI: Built with Python using standard library modules (tkinter, ipaddress, socket, subprocess, threading).
  • Concurrency: Implemented multi-threading to ensure the graphical user interface stays responsive during network ping and port checks.
  • OS Compatibility: Developed and tested on Linux Mint with cross-platform support in mind.

Challenges we ran into

Handling network timeouts smoothly without freezing the GUI was a key challenge. Solving this required carefully offloading socket connection checks and process calls to background threads.

What we learned

We gained hands-on experience in threading with Tkinter, parsing IP networks using Python's standard libraries, and handling edge cases for network reachability and invalid user input.

What's next for NetPulse & Subnet Helper

  • Support for IPv6 subnetting.
  • Multi-port range scanning capabilities.
  • Option to export subnet calculation results to CSV or JSON formats.

Built With

Share this project:

Updates

Submission history