A Python-based Network Port Scanner with a graphical user interface (GUI) built using Tkinter. This project allows users to scan target hosts, identify open ports, detect common services, perform banner grabbing, store scan history, and export scan results.
- TCP Port Scanning
- Multi-threaded Scanning for Faster Results
- Hostname to IP Resolution
- Service Detection (HTTP, SSH, FTP, etc.)
- Banner Grabbing
- SQLite Database Integration
- Scan History Viewer
- CSV Export Functionality
- Logging Support
- User-Friendly Tkinter GUI
- Input Validation and Error Handling
- Python 3
- Tkinter
- Socket Programming
- SQLite3
- Concurrent Futures (Multithreading)
- CSV Module
Network-Port-Scanner/
│
├── screenshots/
│ ├── main_gui.png
│ ├── port_scan.png
│ ├── banner_grabbing.png
│ └── history.png
│
├── main.py
├── gui.py
├── scanner.py
├── service_detector.py
├── banner_grabber.py
├── database.py
├── logger.py
├── .gitignore
└── README.md
git clone https://github.com/YOUR_USERNAME/Network-Port-Scanner.git
cd Network-Port-ScannerNo external packages are required.
Python standard libraries used:
- socket
- tkinter
- sqlite3
- csv
- concurrent.futures
Run the GUI application:
python gui.py- Enter a target hostname or IP address.
- Enter Start Port.
- Enter End Port.
- Click Start Scan.
- View detected open ports and services.
- Review banners returned by services.
- Export results to CSV if required.
- View previous scan history.
Resolved IP: 45.33.32.156
Port 22 OPEN (SSH)
Banner: SSH-2.0-OpenSSH
Port 80 OPEN (HTTP)
Banner: HTTP/1.1 200 OK
This project demonstrates:
- Network Programming
- TCP Socket Communication
- Port Scanning Techniques
- Banner Grabbing
- Service Enumeration
- Database Integration
- GUI Development
- Multithreading
- File Export Operations
This project is intended for educational and authorized security testing purposes only. Always obtain proper permission before scanning any network or system.
MCA Cyber Security Student
Python • Networking • Cyber Security



