License: MIT Docker Flask Python Security: OWASP Docker Build
A modern, secure web-based port scanning tool built with Flask and Docker. Featuring an intuitive interface, multiple output formats, and dark mode support.
Features β’ Quick Start β’ Security β’ Documentation β’ Screenshots
- π Web Interface: Clean, modern UI with dark mode support
- π― Flexible Targeting:
- Single IP/hostname scanning
- IP range support (e.g., 192.168.1.1-254)
- Multiple target scanning
- π Multiple Export Formats:
- LOG (detailed scan output)
- JSON (structured data)
- CSV (spreadsheet-friendly)
- π‘οΈ Enterprise-Grade Security:
- OWASP Top 10 compliant
- Rate limiting protection
- Input sanitization
- Security headers
- π³ Container Ready:
- Docker support
- Docker Compose configuration
- Health checks included
# Clone the repository git clone https://github.com/sk3pp3r/echo.git cd echo # Deploy using script chmod +x deploy.sh ./deploy.sh # Or manually with Docker Compose docker-compose up -d
Access the application at http://localhost:8085
# Clone and setup git clone https://github.com/sk3pp3r/echo.git cd echo # Create virtual environment python -m venv venv source venv/bin/activate # Linux/Mac # or .\venv\Scripts\activate # Windows # Install dependencies pip install -r requirements.txt # Run the application python app.py
| Type | Enhancement | Details |
|---|---|---|
| Environment Configuration π | Secret Key Management | Uses environment variables for secrets, reducing hard-coded values |
| Input Validation π‘οΈ | Target Validation | Robust hostname/IP validation blocking malicious inputs |
| Command Security π | Nmap Command Sanitization | Whitelist approach for parameters, blocking command injection |
| Rate Limiting β±οΈ | Request Throttling | Prevents abuse with configurable request limits |
| Session Security πͺ | Secure Session Cookies | Implements secure cookie configuration and lifetime limits |
| Data Protection π | Output Sanitization | Redacts sensitive information from scan results |
| Logging π | Enhanced Error Handling | Comprehensive logging with rotation and unique error IDs |
| Web Security π | Security Headers | Implements all recommended security headers |
- Single Host:
example.comor192.168.1.1 - IP Range:
192.168.1.1-254 - Multiple Targets:
192.168.1.10,10.0.0.138 - Port Formats:
- Single:
80 - Multiple:
80,443,8080 - Range:
1-1000
- Single:
- LOG: Raw scan output with metadata
- JSON: Structured data format
- CSV: Spreadsheet-compatible format
echo-port-scanner/
βββ app.py # Main application
βββ templates/ # HTML templates
βββ static/ # Static assets
βββ Dockerfile # Container definition
βββ docker-compose.yml # Container orchestration
βββ requirements.txt # Python dependencies
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Haim Cohen
This tool is for educational and authorized testing purposes only. Unauthorized scanning may be illegal. Use responsibly and only on networks you own or have permission to test.