I recently completed a Python network vulnerability scanner as part of my cybersecurity learning journey.
The tool scans a target IP address, for example "127.0.0.1", with a port range such as "21 to 25", detects which ports are open, gets service banners, and checks them against a local database of known vulnerable software versions. It was built using Python’s socket module for raw network connections and termcolor for color-coded terminal output. I implemented error handling to manage closed ports and missing banners, and used custom logic to safely check for vulnerabilities without crashing the program and getting errors as the output. This project helped me understand the fundamentals of port scanning, banner grabbing, and local vulnerability matching.
Key skills in ethical hacking and penetration testing. The scanner is designed for educational use only and reinforces the importance of responsible security testing practices. I'm excited to build on this by adding features like multi-threading, result logging, or even a GUI in the future.