IP-Trace is a high-performance, multithreaded network reconnaissance and port scanner built in Python. It features both a sleek PySide6 Crystal Glass Desktop GUI and a lightweight Command Line Interface (CLI) for fast TCP/UDP scanning, OS fingerprinting, service banner detection, and multi-format report generation.
IP-Trace comes with a modern Windows 11 inspired dark desktop interface featuring crystal glass depth, cyan accent themes, compact connection result rows, and real-time scanning feedback.
# Launch GUI Application
python main.pyor
python gui_launcher.py- 💻 PySide6 Desktop Interface: Modern glassmorphic GUI with dark slate colors and cyan action styling.
- 🚀 Multithreaded Execution: Configurable thread pools (1–200+ threads) for high-speed reconnaissance.
- 🌐 TCP & UDP Port Scanning: Complete support for both TCP and UDP protocol checks.
- 🎯 CIDR & Subnet Scanning: Scan single IP addresses (e.g.
127.0.0.1) or entire subnets (e.g.192.168.1.0/24). - 📡 Host Discovery & Ping Probes: Automated alive host verification prior to full port scanning.
- 🔎 OS & Protocol Fingerprinting: TTL heuristic host OS identification and TCP/IPv4 vs IPv6 detection.
- 🏷️ Service & Banner Grabbing: Socket response analysis to resolve HTTP, SSH, FTP, SMTP, and custom banners.
- 📊 Multi-Format Exporting: Save scan reports in JSON, CSV, or formatted HTML reports.
- 🐳 Docker Ready: Full Dockerfile & Docker Compose setup for containerized scanning.
- 🖥️ Cross-Platform: Operates natively on Linux, Windows, and macOS.
- Python 3.9+
- PySide6
- colorama
pip install -r requirements.txtRun IP-Trace without arguments (or with --gui) to open the desktop application:
python main.pyScan default TCP ports (1-1024):
python main.py -t 192.168.1.10Scan an entire network subnet:
python main.py -t 192.168.1.0/24 -p 1-1024Custom port range with 200 worker threads:
python main.py -t 192.168.1.10 -p 80,443,8080,22 --threads 200Export scan results to JSON:
python main.py -t 192.168.1.10 -p 1-1024 -o scan_results.json| Flag | Parameter | Description |
|---|---|---|
-t, --target |
Target IP / CIDR | Single IP (e.g., 8.8.8.8) or Subnet range (e.g., 192.168.1.0/24) |
-p, --ports |
Port Range | Range e.g. 1-1024, 80,443, or 1-65535 (Default: 1-1024) |
--threads |
Thread Count | Worker threads for parallel scanning (Default: 100) |
--max-threads |
Max Threads | Maximum allowed thread cap (Default: 200) |
--log |
Log File | Path to append scan log output |
-o, --output |
Output JSON | Save results array to JSON file |
--gui |
Launch GUI | Open PySide6 Graphical Interface |
# Build Docker image
docker build -t ip-trace .
# Run CLI scanner container
docker run --rm --net=host -it ip-trace -t 192.168.1.0/24 -p 1-1024 --threads 100docker compose run --rm ip-trace -t 192.168.1.1 -p 1-1024IP-Trace/
├── core.py # Multithreaded PortScanner engine & OS fingerprinting
├── gui.py # PySide6 Crystal Glass GUI Application
├── gui_launcher.py # Standalone GUI Launcher script
├── style.qss # Modern Glassmorphism custom stylesheet
├── main.py # CLI & GUI main entry point
├── requirements.txt # Python dependencies (PySide6, colorama)
├── Dockerfile # Container build definition
├── docker-compose.yml # Docker Compose orchestration
└── IMG/ # Application visual assets & reference screenshots
- PySide6 Modern Windows 11 Desktop GUI
- Multithreaded TCP Port Scanning
- UDP Port Scanning Support
- Host Alive Discovery Probes
- OS & Protocol Fingerprinting
- Service Banner Grabbing
- Real-time Scan Progress Bar
- JSON, CSV, and HTML Report Exports
- Docker & Docker Compose Containerization
- CVE / Vulnerability Lookup Integration
This tool is designed for authorized security audits and educational research only. Do not scan targets without explicit prior authorization from system owners.
- Author: AthrvSec (Sassy)
- GitHub: https://github.com/Atharvs13
- License: MIT License