Introduction
scan4all is a powerful CLI security scanner tool that combines port scanning, vulnerability detection, and service enumeration capabilities. The tool is designed for security researchers, penetration testers, and system administrators who need comprehensive network scanning functionality.Basic Usage
Quick Examples
Basic Host Scan
Scan from File with Custom Ports
Fast Scan with JSON Output
Full Scan with All Features
Command Groups
The scan4all CLI is organized into the following functional groups:Input Options
Define targets and exclusions for your scan.Port Configuration
Specify which ports to scan and exclude.Rate Limiting
Control scan speed and concurrency.Output Formats
Configure how scan results are saved.Scan Configuration
Customize scan behavior and techniques.Optimization
Fine-tune performance and reliability.Debug & Monitoring
Control logging and scan statistics.Scan Types
scan4all supports two primary scan types:SYN Scan (Default)
- Requires root/administrator privileges
- Faster and more stealthy
- Default when running with elevated privileges
- Flag:
-s sor-scan-type s
CONNECT Scan
- Works without root privileges
- Uses full TCP connection
- Automatically selected for non-privileged users
- Flag:
-s cor-scan-type c
Workflow
A typical scan4all workflow consists of:- Port Scanning - Identifies open ports on target hosts
- Service Detection - Determines services running on open ports
- HTTP Analysis - Analyzes web services with httpx integration
- Vulnerability Scanning - Runs security checks (unless disabled with
-np)
Integration Features
- Nmap Integration: Invoke nmap for detailed scans with
-nmap-cli - DNS Resolution: Custom resolvers with
-r - Proxy Support: Route traffic through SOCKS5 proxy with
-proxy - Resume Capability: Continue interrupted scans with
-resume - Stream Mode: Real-time output for large scans with
-stream
Best Practices
- Start with default port ranges before full scans
- Use
-verifyto confirm open ports - Enable
-statsfor long-running scans - Set appropriate
-ratelimits to avoid network congestion - Use
-exclude-cdnto skip CDN IP ranges - Save results with
-ofor later analysis