Skip to content

Abiha0421/Port-Scanner

Repository files navigation



TCP Port Scanner GUI

An interactive Python-based TCP Port Scanner with a modern CustomTkinter GUI. This tool allows users to quickly scan hosts for open ports, grab banners, and visualize results in a clean and customizable interface.

Logo Logo

Release Author

Requirment

npm version

Features

  • Port scanning — Scan a single host or hostname across a port range (e.g., 1-1024).
  • Banner grabbing — Attempt to read an initial banner from an open TCP port to help identify the service.
  • Filter results — Toggle between viewing all scanned ports or only open ports.
  • Customizable themes — Light, Dark, and Neon UI themes.
  • Settings manager — Tabs for Appearance, Scan options (timeouts, concurrency), and Reports.
  • Presets & history — Save scan presets (e.g., "quick", "full"), and access recent targets.
  • Report export — Save scan reports as PDF (via reportlab) or CSV for documentation.
  • Real-time UI — Live results, progress bar, and scan status messages.
  • Safe defaults — Conservative timeouts and limited concurrency to avoid accidental DoS.

Install Dependencies

# use to install the required dependencies
pip install -r requirements.txt

basic CLI usage

python3 tcp_port_scanner.py [-h] [--ports PORTS] [--top TOP] [--timeout TIMEOUT] [--threads THREADS] [--csv CSV] [--json JSON] [--pdf PDF] [--json-only] target

Quickstart (GUI)

Launch the app using command:

python3 tcp_port_scanner_gui.py

In the GUI:

  • Enter a target IP address or hostname (e.g., 192.168.1.10, example.local).
  • Enter a port range (e.g., 1-1024 or 22,80,443).
  • Choose a preset or open Settings to tune concurrency and timeouts.
  • Click Start Scan and watch results appear in real time.
  • Export the results using the Export button (PDF/CSV).

Tip: use a small port range and low concurrency for initial tests.

Security & Ethics

This repo is intended for educational and penetration testing lab purposes only. Do not use it against systems without explicit authorization.

About

An interactive Python-based TCP Port Scanner with a modern CustomTkinter GUI. This tool allows users to quickly scan hosts for open ports, grab banners, and visualize results in a clean and customizable interface.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors