Skip to content

WyrmKeep/PythonPortScanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Python Port Scanner with GUI

Python Version License

πŸ“‹ Table of Contents

✨ Features

  • πŸ–₯️ Intuitive graphical user interface (GUI) built with tkinter
  • πŸš€ Fast, multithreaded port scanning for efficient network analysis
  • 🎯 Flexible scanning options:
    • Custom port range scanning
    • Quick scan for common ports
    • Load and scan custom port lists
  • πŸ“Š Real-time progress updates with a visual progress bar
  • πŸ’Ύ Save scan results in JSON format for further analysis
  • πŸ” Automatic identification of common services based on port numbers
  • πŸ›‘οΈ Enhance your network security and penetration testing toolkit

πŸš€ Installation

This project requires Python 3.6 or higher. No additional libraries are needed as it uses standard Python libraries.

  1. Clone the repository:

    git clone https://github.com/WyrmKeep/python-port-scanner.git
    cd python-port-scanner
  2. (Optional) Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`

🏁 Getting Started

To launch the Port Scanner application:

python main.py

You'll be greeted with the GUI interface, ready to start scanning!

πŸ”§ Usage

  1. πŸ–₯️ Launch the application by running main.py.
  2. 🌐 Enter the target host IP address or domain name in the "Host" field.
  3. πŸŽ›οΈ Choose your scanning method:
    • Enter a start and end port for a custom range scan.
    • Check the "Quick Scan" box to scan common ports.
    • Use the "Load Custom Ports" button to scan a predefined list of ports.
  4. πŸš€ Click "Start Scan" to begin the port scanning process.
  5. πŸ“Š View real-time results in the scrollable text area.
  6. πŸ’Ύ Use the "Save Results" button to export scan results to a JSON file.

βš™οΈ Configuration

Customize the quick scan feature by modifying the common_ports.json file:

  1. Create a data directory in the project root (if it doesn't exist).
  2. Create or edit data/common_ports.json:
    {
      "80": "HTTP",
      "443": "HTTPS",
      "22": "SSH",
      "21": "FTP",
      "25": "SMTP"
    }
  3. Add or remove port numbers and their corresponding service names as needed.

πŸ› οΈ Troubleshooting

  • Scan not starting: Ensure you've entered a valid host and port range.
  • Slow scan performance: Try reducing the port range or using the quick scan option.
  • Missing common_ports.json: The app will use default ports. Create the file as described in the Configuration section.

About

Python Port Scanner

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages