Skip to content

marcodevqc/flooder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flooder v2.0

A high-performance network stress testing tool written in Rust with advanced features including proxy support, WAF bypass techniques, and multiple attack vectors.

⚠️ Disclaimer

This tool is intended for authorized security testing and educational purposes only. Unauthorized use against systems you don't own or have explicit permission to test is illegal and unethical. Use responsibly.

Features

  • 🚀 High Performance: Built with Rust for maximum speed and efficiency
  • 🌐 Multiple Attack Modes: HTTP/HTTPS, TCP, UDP, Telnet, SSH, and raw packet flooding
  • 🔒 Proxy Support: Built-in proxy engine with health checking and rotation
  • 🛡️ WAF Bypass: Advanced techniques to evade Web Application Firewalls
  • 🎭 Browser Fingerprinting: Mimics real browser behavior
  • Rate Limiting: Intelligent rate control to avoid detection
  • 📊 Real-time Statistics: Live monitoring of requests, success rates, and performance
  • 🔄 Connection Pooling: Optimized HTTP connection reuse
  • 🎯 Custom Headers: Full control over HTTP headers and methods

Requirements

  • Rust 1.70+ (install from rustup.rs)
  • Linux, macOS, or Windows
  • For raw packet flooding: root/admin privileges

Installation

Build from Source

# Clone the repository
git clone <repository-url>
cd flooder

# Make build script executable
chmod +x build.sh

# Build the project
./build.sh

The compiled binary will be located at ./target/release/flooder

Manual Build

cargo build --release

Usage

Basic HTTP Flood

./target/release/flooder --url https://example.com --requests 1000 --threads 10

HTTP Flood with Proxy

./target/release/flooder --url https://example.com \
  --requests 10000 \
  --threads 50 \
  --proxy-file proxies.txt \
  --rotate-proxies

TCP Flood

./target/release/flooder --url tcp://target.com:80 \
  --mode tcp \
  --tcp-mode syn \
  --threads 20

UDP Flood

./target/release/flooder --url udp://target.com:53 \
  --mode udp \
  --threads 15

Advanced HTTP with WAF Bypass

./target/release/flooder --url https://example.com \
  --requests 50000 \
  --threads 100 \
  --method POST \
  --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
  --referer https://google.com \
  --cookie "session=abc123" \
  --proxy-file proxies.txt \
  --rotate-proxies

Command Line Options

Option Description Default
--url Target URL (required) -
--requests Total number of requests 1000
--threads Number of concurrent threads 10
--timeout Request timeout in seconds 10
--delay Delay between requests (ms) 0
--method HTTP method (GET, POST, HEAD, PUT, DELETE, OPTIONS) GET
--mode Attack mode (http, tcp, udp, telnet, ssh, raw) http
--proxy-file Path to proxy list file -
--rotate-proxies Enable proxy rotation false
--user-agent Custom User-Agent header -
--referer Custom Referer header -
--cookie Custom Cookie header -
--tcp-mode TCP attack mode (syn, ack, fin, rst, push, all) syn
--raw-service Raw packet service profile (http, https, dns, ssh, telnet, custom) http

Proxy Format

Create a proxies.txt file with one proxy per line:

http://proxy1.com:8080
socks5://proxy2.com:1080
http://user:pass@proxy3.com:3128

The proxy checker utility can test your proxies:

node proxy-checker.js

Project Structure

flooder/
├── src/
│   ├── main.rs                 # Main entry point and CLI
│   ├── advanced_flooder.rs     # Advanced HTTP flooding engine
│   ├── proxy_flooder.rs        # Proxy-based flooding
│   ├── proxy_engine.rs         # Proxy management and rotation
│   ├── rate_limiter.rs         # Rate limiting logic
│   ├── http_optimizations.rs   # HTTP connection pooling
│   ├── udp_flooder.rs          # UDP flooding implementation
│   ├── tcp_flooder.rs          # TCP flooding implementation
│   ├── telnet_flooder.rs       # Telnet flooding
│   ├── ssh_flooder.rs          # SSH flooding
│   ├── raw_packet_flooder.rs   # Raw packet crafting
│   ├── waf_bypass.rs           # WAF evasion techniques
│   ├── browser_fingerprint.rs  # Browser behavior simulation
│   └── headers.rs              # HTTP header generation
├── Cargo.toml                  # Rust dependencies
├── build.sh                    # Build script
├── proxy-checker.js            # Proxy validation utility
└── proxies.txt                 # Proxy list (user-provided)

Performance Tips

  1. Thread Count: Adjust based on your CPU cores (typically 2-4x core count)
  2. Connection Pooling: Automatically enabled for HTTP/HTTPS
  3. Proxy Rotation: Use multiple proxies to distribute load
  4. Rate Limiting: Set appropriate delays to avoid detection
  5. System Limits: Increase file descriptor limits for high concurrency:
    ulimit -n 65535

Legal Notice

This software is provided for educational and authorized testing purposes only. The developers assume no liability and are not responsible for any misuse or damage caused by this program.

Always obtain proper authorization before testing any system.

License

This project is provided as-is for educational purposes.

Contributing

Contributions are welcome! Please ensure all changes maintain the security-focused nature of the project and include appropriate warnings about responsible use.

Troubleshooting

Build Errors

  • Ensure Rust is up to date: rustup update
  • Clear build cache: cargo clean && cargo build --release

Permission Errors (Raw Packets)

Raw packet flooding requires elevated privileges:

sudo ./target/release/flooder --url tcp://target.com:80 --mode raw

High CPU Usage

Reduce thread count or add delays between requests:

./target/release/flooder --url https://example.com --threads 5 --delay 100

Version History

  • v2.0.0: Complete Rust rewrite with improved performance and features
  • v1.x: Legacy implementations

Remember: With great power comes great responsibility. Use this tool ethically and legally.

About

Network Load Testing Tool

Resources

Stars

Watchers

Forks