Skip to content

JosephJonathanFernandes/advanced-port-scanner

Repository files navigation

Enterprise-Grade Python Port & Subnet Scanner

Overview

This project is a modular, production-ready network scanner with a modern GUI, designed for security professionals, engineers, and open-source contributors. It supports single host and subnet (CIDR) scanning, real-time feedback, banner analysis, and secure, extensible architecture.


Problem Statement

Modern organizations require fast, reliable, and secure tools to audit network ports and services. This scanner provides a professional, open-source solution with a focus on code quality, security, and extensibility.


Architecture

  • src/: Core scanning logic, modularized by responsibility
  • config/: Configuration and environment setup
  • tests/: Unit and integration tests
  • docs/: Architecture, contributing, changelog, security
  • scripts/: Automation and utilities
  • results/: Scan outputs (log, CSV, JSON, graphs)

See docs/ARCHITECTURE.md for details.


Tech Stack

  • Python 3.x
  • Tkinter (GUI)
  • Matplotlib (visualization)
  • Pillow (image handling)
  • Standard Library (threading, socket, ipaddress, etc.)

Features

  • Multi-threaded port and subnet scanning
  • Real-time GUI with live feedback
  • Banner grabbing and vulnerability signature check
  • Results export: TXT, CSV, JSON, PNG
  • Modular, testable, and secure codebase

Setup & Usage

  1. Clone the repository:
    git clone https://github.com/yourusername/port-scanner-project.git
    cd port-scanner-project
  2. Install dependencies:
    pip install -r requirements.txt
  3. Run the GUI:
    python -m src.gui_app
    Or run a CLI scan:
    python -m src.main <target> [start_port] [end_port]

Security & Best Practices

  • No hardcoded secrets; use environment variables (see .env.example)
  • Input validation and error handling throughout
  • See SECURITY.md for responsible disclosure and security policy

Testing & Quality


Contributing

See docs/CONTRIBUTING.md.


Value

  • Recruiter- and reviewer-friendly codebase
  • Secure, maintainable, and extensible for enterprise and open-source
  • Easy to run, understand, and extend

License

MIT License

About

A Python-based multi-threaded network scanner with a simple GUI for scanning individual hosts or entire subnets. Features include real-time scan progress, banner grabbing, basic vulnerability signature checks, and visual graphs showing open ports.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors