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.
โจ 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
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 bannerssummary_<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,csvtqdmfor 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

