GitHunt
HA

haardshingala/PortVista

A multithreaded Python-based TCP port scanner with DNS resolution, host availability check, and banner grabbing. Outputs structured results in CSV and human-readable summaries.

๐Ÿ” PortVista โ€“ Advanced CLI Port Scanner

A multithreaded Python-based TCP port scanner with DNS resolution, host availability check, and banner grabbing. Designed for developers, network engineers, and security learners.

License: MIT
Python


โœจ Features

  • โœ… Scan any IP or domain for open TCP ports
  • ๐ŸŒ Supports domain name resolution (e.g., github.com)
  • ๐Ÿ“ถ Host availability check using ping
  • โšก Multithreaded scanning for fast results
  • ๐Ÿ›ก๏ธ Banner grabbing from open services (e.g., SSH, HTTP)
  • ๐Ÿ“„ CSV and TXT summary exports
  • ๐Ÿง  Detects common services like HTTP, HTTPS, SSH, FTP, etc.

๐Ÿ–ผ๏ธ Screenshots

Terminal Output

Terminal Output

CSV Output

CSV Output


๐Ÿ–ฅ๏ธ Example Output

$ python port_scanner.py --target github.com --start 1 --end 1024

Resolved github.com to 140.82.113.4  
Host 140.82.113.4 is reachable.  
Starting scan on github.com (1โ€“1024)...

[โœ”] Port 22 OPEN (SSH) โ€“ Banner: SSH-2.0-OpenSSH_8.2  
[โœ”] Port 80 OPEN (HTTP) โ€“ Banner: Server: GitHub.com  
[โœ”] Port 443 OPEN (HTTPS) โ€“ Banner: Server: GitHub Secure

Scan complete.  
๐Ÿ“ Results saved to results_20240611_1545.csv  
๐Ÿ“ Summary saved to summary_20240611_1545.txt  

๐Ÿ› ๏ธ How to Run

# Basic usage
python port_scanner.py --target scanme.nmap.org

# Specify a port range
python port_scanner.py --target github.com --start 20 --end 1024

# Custom thread count and timeout
python port_scanner.py --target github.com --threads 200 --timeout 2.0

# Custom output file
python port_scanner.py --target github.com --output myscan.csv

๐Ÿ“ Output Files

  • results_<timestamp>.csv โ€“ Full list of open ports, service names, and banners
  • summary_<timestamp>.txt โ€“ Human-readable scan summary

๐Ÿ” Use Cases

  • ๐ŸŽ“ Hands-on learning of network protocols and port behavior
  • ๐Ÿงช Internal dev environment scanning and service verification
  • ๐Ÿ›ก๏ธ Basic vulnerability awareness and exposure checks
  • ๐Ÿงฐ A lightweight, CLI-based alternative to Nmap for basic scans

๐Ÿ“š Technologies Used

  • Python 3.8+
  • socket, threading, subprocess, argparse, csv
  • tqdm for scan progress visualization

โš ๏ธ Disclaimer

This tool is intended only for ethical and educational purposes.

  • ๐Ÿ”’ Do not scan systems or IPs that you do not own or have explicit permission to test.
  • ๐Ÿ‘จโ€โš–๏ธ The author is not responsible for misuse or legal consequences of unethical scanning.

๐Ÿง‘โ€๐Ÿ’ป Author

Made by Haard Shingala
๐ŸŽ“ B.Tech in Computer Engineering โ€“ PDEU
๐Ÿ”— LinkedIn
๐Ÿ“ GitHub