The Next-Generation Port Scanner with Adaptive Intelligence
UltraScan Fast Port Scanner is a high-performance, intelligent port scanning tool that combines blazing speed with adaptive learning capabilities. Built in Python with advanced threading and network optimization, it learns from your network conditions and automatically adjusts for optimal performance.
- Lightning Fast: Scan all 65,535 ports in under 20 seconds
- Adaptive Threading: Dynamically adjusts thread count based on network conditions
- Smart Timeout: Automatically optimizes timeout values for maximum speed
- Chunk Processing: Efficient port batching for reduced overhead
- Network Learning: Analyzes response patterns and adapts accordingly
- Auto-Optimization: Continuously improves performance during scanning
- Failure Recovery: Gracefully handles network issues and timeouts
- Pattern Recognition: Remembers optimal settings for different target types
- Real-time Progress: Live scanning statistics and ETA calculations
- Performance Metrics: Detailed speed and efficiency reporting
- Network Profiling: Identifies network characteristics and bottlenecks
- Success Tracking: Monitors scan accuracy and completion rates
- Multiple Export Formats: JSON, Nmap-compatible, CSV outputs
- Integration Ready: Easy to integrate with existing security tools
- Graceful Interruption: Clean handling of Ctrl+C and signals
- Comprehensive Logging: Detailed scan logs and error reporting
- Intuitive CLI: Easy-to-use command line interface
- Progress Visualization: Beautiful real-time progress display
- Smart Defaults: Works great out of the box
- Flexible Configuration: Extensive customization options
- Python 3.7 or higher
- No external dependencies required (uses only standard library)
git clone https://github.com/nontawattalk/ultrascan.git
cd ultra-fast-port-scanner
chmod +x ultra_scanner.py
curl -sSL https://raw.githubusercontent.com/nontawattalk/ultrascan/main/install.sh | bash
docker pull yourusername/ultra-scanner:latest
docker run -it ultra-scanner scanme.nmap.org
# Basic scan - top 1000 ports
python3 ultra_scanner.py scanme.nmap.org
# Scan all ports (ultra-fast mode)
python3 ultra_scanner.py target.com -p 1-65535 -t 2000 --timeout 0.05
# Stealth scan with export
python3 ultra_scanner.py 192.168.1.1 -p 1-65535 -t 500 --timeout 0.2 --export json
# Scan default ports (1-1000)
./ultra_scanner.py example.com
# Scan specific port range
./ultra_scanner.py 192.168.1.100 -p 1-10000
# Scan specific ports
./ultra_scanner.py target.com -p 22,80,443,8080
# Maximum speed scan
./ultra_scanner.py target.com -p 1-65535 -t 3000 --timeout 0.03
# Stealth scan (slower but more reliable)
./ultra_scanner.py target.com -p 1-65535 -t 200 --timeout 0.5
# Network-friendly scan
./ultra_scanner.py target.com -p 1-65535 -t 100 --timeout 0.8 --chunk-size 500
# Export to JSON
./ultra_scanner.py target.com -p 1-65535 --export json
# Export to Nmap format
./ultra_scanner.py target.com -p 1-65535 --export nmap
# Silent scan with export
./ultra_scanner.py target.com -p 1-65535 --no-progress --export json
Usage: ultra_scanner.py [-h] [-p PORTS] [-t THREADS] [--timeout TIMEOUT]
[--chunk-size CHUNK_SIZE] [--export {json,nmap}]
[--no-progress]
target
positional arguments:
target Target IP address or hostname
optional arguments:
-h, --help show this help message and exit
-p PORTS, --ports PORTS
Port range (e.g., 1-1000, 1-65535) or specific ports (80,443,8080)
-t THREADS, --threads THREADS
Number of threads (default: 1000)
--timeout TIMEOUT Socket timeout in seconds (default: 0.1)
--chunk-size CHUNK_SIZE
Port chunk size for thread batching (default: 1000)
--export {json,nmap} Export results format
--no-progress Disable progress display
Scanning scanme.nmap.org (45.33.32.156) ports 1-65535
Using 1000 threads with 0.1s timeout
------------------------------------------------------------
Progress: 67.8% | Scanned: 44418/65535 | Rate: 3247 ports/sec | ETA: 7s | Open: 5 | Timeout: 0.067s
============================================================
SCAN COMPLETE - Ultra-Fast Port Scanner
============================================================
Target: scanme.nmap.org
Ports scanned: 65535
Open ports found: 6
Scan time: 20.18 seconds
Rate: 3248 ports/second
Threads used: 1000
Adaptive timeout: 0.067s
Open ports:
22 80 443 9929 22222 31337
{
"target": "scanme.nmap.org",
"total_ports_scanned": 65535,
"open_ports": [22, 80, 443, 9929, 22222, 31337],
"open_count": 6,
"scan_time": 20.18,
"ports_per_second": 3248.27,
"threads_used": 1000,
"final_timeout": 0.067,
"adaptive_adjustments": {
"timeout_changes": 4,
"thread_reductions": 0,
"avg_response_time": 0.045
}
}
Testing environment: Standard VPS, 1GB RAM, scanning scanme.nmap.org (65,535 ports)
Scanner | Time | Rate (ports/sec) | Accuracy | Memory Usage |
---|---|---|---|---|
Ultra-Fast Scanner | 20.18s | 3,248 | 100% | 45MB |
RustScan | 18.45s | 3,552 | 100% | 25MB |
Masscan | 25.67s | 2,552 | 100% | 35MB |
Nmap (-T4) | 342.18s | 191 | 100% | 28MB |
Nmap (-T5) | 298.45s | 219 | 98% | 32MB |
Feature | UltraScan | RustScan | Masscan | Nmap |
---|---|---|---|---|
Speed | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
Adaptive Learning | ✅ | ❌ | ❌ | ❌ |
Real-time Progress | ✅ | ✅ | ❌ | ✅ |
JSON Export | ✅ | ✅ | ✅ | ✅ |
Service Detection | ❌ | Via Nmap | ❌ | ✅ |
OS Detection | ❌ | Via Nmap | ❌ | ✅ |
Scripting Engine | ❌ | ✅ | ❌ | ✅ |
Memory Efficiency | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
Cross Platform | ✅ | ✅ | ✅ | ✅ |
No Dependencies | ✅ | ❌ | ❌ | ❌ |
- Adaptive Intelligence: Only scanner that learns and optimizes during scanning
- Network-Aware: Automatically adjusts to network conditions
- Zero Dependencies: No external libraries required
- Educational Value: Clear, readable Python code for learning
- Raw Speed: Fastest pure scanning speed
- Memory Efficient: Lowest memory footprint
- Nmap Integration: Seamless handoff to Nmap for detailed analysis
- Internet Scale: Can scan the entire Internet
- Custom TCP Stack: Uses its own TCP/IP implementation
- Rate Control: Precise packet rate limiting
- Feature Complete: Most comprehensive feature set
- Service Detection: Best-in-class service fingerprinting
- Scripting: Extensive NSE script library
- Industry Standard: Most widely used and supported
# Quick network sweep
./ultra_scanner.py 192.168.1.0/24 -p 22,80,443
# Full infrastructure audit
./ultra_scanner.py target-range.txt -p 1-65535 --export json
# Penetration testing reconnaissance
./ultra_scanner.py target.com -p 1-65535 -t 1500 --timeout 0.05
# Firewall testing
./ultra_scanner.py dmz-host.company.com -p 1-65535 --export nmap
# Continuous monitoring
while true; do
./ultra_scanner.py critical-server.com -p 1-1000 --export json
sleep 3600
done
This tool is designed for:
- ✅ Network administration and monitoring
- ✅ Security assessment of your own systems
- ✅ Penetration testing with proper authorization
- ✅ Educational and research purposes
Important: Always ensure you have proper authorization before scanning any network or system you don't own.
ultra-fast-port-scanner/
├── ultra_scanner.py # Main scanner script
├── README.md # This file
├── LICENSE # MIT License
├── requirements.txt # Python dependencies (none!)
├── install.sh # Quick install script
├── examples/ # Usage examples
│ ├── basic_scan.py
│ ├── batch_scanning.py
│ └── integration_example.py
├── tests/ # Test suite
│ ├── test_scanner.py
│ └── test_performance.py
└── docs/ # Documentation
├── ADVANCED_USAGE.md
├── API_REFERENCE.md
└── PERFORMANCE_TUNING.md
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
python -m pytest tests/
python tests/test_performance.py
- Service detection capabilities
- IPv6 support
- Distributed scanning across multiple hosts
- Web UI dashboard
- Custom scan profiles
- Integration with vulnerability databases
- Machine learning for port prediction
- API server mode
- Real-time notifications
Q: Scan is slower than expected
# Try reducing threads and increasing timeout
./ultra_scanner.py target.com -t 500 --timeout 0.2
Q: Getting connection refused errors
# Target might be behind firewall, try stealth mode
./ultra_scanner.py target.com -t 100 --timeout 1.0
Q: Memory usage is high
# Reduce chunk size and threads
./ultra_scanner.py target.com --chunk-size 500 -t 500
This project is licensed under the MIT License.
- Inspired by the speed of RustScan
- Learning from the robustness of Masscan
- Building on the foundation of Nmap
- Thanks to the cybersecurity community for feedback and contributions
- 📧 Email: [email protected]
- 🗐 Issues: GitHub Issues
- 📖 Documentation: Full in (https://github.com/nontawattalk/Ultrascan/wiki/)
Made with ❤️ by SRAN Team