Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

πŸ” Echo-Port Scanner

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

Echo-Port Scanner Screenshot

Features

  • 🌐 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

Quick Start

Using Docker (Recommended)

# 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

Manual Installation

# 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

Security

OWASP TOP 10 Security Enhancements

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

Documentation

Scanning Options

  • Single Host: example.com or 192.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

Export Formats

  • LOG: Raw scan output with metadata
  • JSON: Structured data format
  • CSV: Spreadsheet-compatible format

πŸ› οΈ Development

Project Structure

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

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Author

Haim Cohen

πŸ™ Acknowledgments

⚠️ Disclaimer

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.


Made by Haim Cohen 2025

About

A modern web-based port scanning tool built with Flask and Docker. Echo-Port Scanner provides an intuitive interface for network port scanning with support for multiple output formats and dark mode.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /