- Features
- Installation
- Getting Started
- Usage
- Configuration
- Troubleshooting
- Contributing
- License
- Support
- π₯οΈ 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
This project requires Python 3.6 or higher. No additional libraries are needed as it uses standard Python libraries.
-
Clone the repository:
git clone https://github.com/WyrmKeep/python-port-scanner.git cd python-port-scanner -
(Optional) Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
To launch the Port Scanner application:
python main.pyYou'll be greeted with the GUI interface, ready to start scanning!
- π₯οΈ Launch the application by running
main.py. - π Enter the target host IP address or domain name in the "Host" field.
- ποΈ 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.
- π Click "Start Scan" to begin the port scanning process.
- π View real-time results in the scrollable text area.
- πΎ Use the "Save Results" button to export scan results to a JSON file.
Customize the quick scan feature by modifying the common_ports.json file:
- Create a
datadirectory in the project root (if it doesn't exist). - Create or edit
data/common_ports.json:{ "80": "HTTP", "443": "HTTPS", "22": "SSH", "21": "FTP", "25": "SMTP" } - Add or remove port numbers and their corresponding service names as needed.
- 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.