DEV Community

Maryam
Maryam

Posted on

Making the Python Port Scanner More User-Friendly

Discovery of the Issue

While browsing through various open-source projects on GitHub, I stumbled upon the Python Port Scanner. Curious to see how it works and potentially contribute, I decided to give it a try. Utilizing GitHub's search functionality, I navigated through the repository's issues to understand the current state of the project and identify any areas that might need improvement. That’s when I noticed Issue #10, which highlighted the need for clearer error messages and improved handling during scanning processes.

The Journey to Improvement

Recognizing the importance of user-friendly messages, especially when dealing with network-related tasks, I decided to dive into the codebase. My objective was clear: enhance error messages, provide better feedback during scans, and ensure that users have a smooth and informative experience while using the port scanner.

Step 1: Setting Up the Environment

First things first, I cloned the repository and set up the development environment. Following the instructions provided in the README, I installed the necessary dependencies and got the port scanner up and running.

Step 2: Understanding the Code

Next, I spent some time familiarizing myself with the code. The port scanner was well-structured, and it didn’t take long to identify the sections responsible for error handling and user feedback.

Step 3: Making Enhancements

Armed with a good understanding of the codebase, I began making enhancements. I focused on two main areas:

  1. Clearer Error Messages: I ensured that whenever there was an issue resolving a target’s hostname, the tool provided a clear and informative message, guiding the user on what might have gone wrong.

  2. Improved Scanning Feedback: I enhanced the feedback given during the scanning process, ensuring that users were informed if a port scan was taking longer than usual and providing additional details for other potential issues.

Step 4: Testing the Changes

After making the changes, I rigorously tested the port scanner to ensure that the enhancements were working as intended. I simulated various scenarios, including invalid hostnames and slow ports, to validate that the new error messages and feedback were being displayed correctly.

Step 5: Opening a Pull Request

Satisfied with the improvements, I proceeded to open a pull request on the project’s GitHub repository, providing a detailed description of the changes made and mentioning that the PR addressed Issue #10.

Conclusion

Contributing to open-source projects is an enriching experience. It not only helps in improving one’s coding skills but also provides a sense of community as you work alongside others to enhance and elevate projects. Through this experience with the Python Port Scanner, I’ve learned more about network scanning, improved my Python skills, and hopefully made the tool more user-friendly for everyone.

Repo
PR

Top comments (0)