IPFLUX is a high-performance TCP SYN flood tool designed for network testing and security research. It generates spoofed TCP SYN packets to overwhelm target systems, simulating distributed denial-of-service (DDoS) attacks for testing purposes.
- Multi-threaded SYN packet generation for maximum performance
- Customizable target IP address, port, and packet parameters
- Configurable thread count and packet length
- Raw socket implementation for direct packet crafting
- Proper TCP checksum calculation for valid packets
- Graceful shutdown with signal handling
- Command-line interface with comprehensive options
- IP spoofing capabilities for testing network defenses
- GCC compiler
- POSIX threads (pthread) library
- Linux/Unix-like operating system with raw socket support
- Root privileges (required for raw socket operations)
- Clone or download the source code
- Navigate to the project directory
- Build the application:
makeThis will create the ipflux executable in the build directory.
To install IPFLUX system-wide (requires root privileges):
sudo make installOr install to user directory (no root required):
make install-userThe user installation places IPFLUX in ~/bin/ipflux. Make sure ~/bin is in your PATH.
sudo ./build/ipfluxThis starts the SYN flood with default settings:
- Target: 192.168.1.1:80
- Threads: 4
- Packet length: 1500 bytes
./build/ipflux [options]Options:
-i, --ip <target_ip>Target IP address (default: 192.168.1.1)-p, --port <port>Target port (default: 80)-l, --packet-len <length>Packet length in bytes (default: 1500)-t, --threads <count>Number of threads (default: 4)-h, --helpShow help message
Attack a specific IP and port with custom settings:
sudo ./build/ipflux -i 192.168.1.100 -p 80 -t 16 -l 1200Use long options for clarity:
sudo ./build/ipflux --ip 10.0.0.1 --port 443 --threads 32 --packet-len 1500Display help information:
./build/ipflux --helpIPFLUX displays real-time information during operation:
`7MMF'`7MM"""Mq.`7MM"""YMM `7MMF' `7MMF' `7MF'`YMM' `MP'
MM MM `MM. MM `7 MM MM M VMb. ,P
MM MM ,M9 MM d MM MM M `MM.M'
MM MMmmdM9 MM""MM MM MM M MMb
MM MM MM Y MM , MM M ,M'`Mb.
MM MM MM MM ,M YM. ,M ,P `MM.
.JMML..JMML. .JMML. .JMMmmmmMMM `bmmmmd"' .MM:. .:MMa.
[IPFLUX] TCP SYN Flood Attack Configuration
[IPFLUX] Target: 192.168.1.100:80
[IPFLUX] Packet Length: 1500 bytes
[IPFLUX] Threads: 16
[IPFLUX] Press Ctrl+C to stop the attack
[IPFLUX] Thread 0 started flooding 192.168.1.100:80
[IPFLUX] Thread 1 started flooding 192.168.1.100:80
...
Press Ctrl+C to stop the SYN flood. IPFLUX will display a shutdown message and cleanly terminate all threads:
[IPFLUX] Received signal 2. Stopping flood threads...
[IPFLUX] Thread 0 stopped
[IPFLUX] Thread 1 stopped
...
[IPFLUX] Attack stopped. Exiting...
- Maximum threads: Limited by system resources
- Packet crafting: Raw socket implementation with proper IP/TCP headers
- Checksum calculation: Accurate TCP checksum using pseudo headers
- IP spoofing: Random source IP addresses for each packet
- Thread safety: Proper synchronization and signal handling
- Memory management: Dynamic thread allocation with cleanup
Each SYN packet includes:
- IP Header: Spoofed source IP, correct destination IP
- TCP Header: Random source port, target destination port, SYN flag set
- Checksums: Valid TCP and IP checksums for packet authenticity
- Main thread handles argument parsing and coordination
- Worker threads generate and send SYN packets independently
- Signal handler coordinates graceful shutdown across all threads
WARNING: This tool is designed for network security testing and research purposes only. Unauthorized use against systems you do not own or have explicit permission to test may violate laws and regulations. Always ensure you have proper authorization before conducting any network testing.
Please read the DISCLAIMER.md file for important legal and ethical guidelines.
- Use only on networks/systems you own or have explicit permission to test
- Follow responsible disclosure practices
- Comply with local laws and regulations regarding network testing
- Consider the impact on network infrastructure and services
make: Build the applicationmake clean: Remove build artifactsmake install: Install to /usr/local/bin (requires root)make install-user: Install to ~/bin (no root required)make uninstall: Remove from /usr/local/bin (requires root)
ipflux/
├── src/ # Source files
│ ├── main.c # Main program entry point
│ ├── args.c # Command line argument parsing
│ ├── network.c # Network functions (checksum, raw sockets)
│ ├── flood.c # SYN flood worker threads
│ ├── display.c # Banner and display functions
│ └── signal.c # Signal handling
├── include/ # Header files
│ ├── ipflux_common.h # Main header including all components
│ ├── ipflux_args.h # Argument parsing declarations
│ ├── ipflux_network.h # Network function declarations
│ ├── ipflux_flood.h # Flood function declarations
│ ├── ipflux_display.h # Display function declarations
│ ├── ipflux_signal.h # Signal handling declarations
│ └── ipflux_headers.h # Network protocol headers
├── build/ # Build output directory
├── build.sh # Alternative build script
├── Makefile # Build configuration
├── README.md # This file
├── LICENSE # MIT License
└── DISCLAIMER.md # Legal disclaimer and usage guidelines
If you get permission errors, ensure you're running with root privileges:
sudo ./build/ipfluxIf compilation fails, ensure you have the required dependencies:
# Install build essentials (Ubuntu/Debian)
sudo apt-get install build-essential
# Install build essentials (CentOS/RHEL)
sudo yum groupinstall "Development Tools"If packets aren't being sent, check:
- Network interface is up
- No firewall blocking raw sockets
- Correct target IP address is reachable
This is a specialized security testing tool. Contributions should focus on:
- Code optimization and performance improvements
- Bug fixes and stability enhancements
- Documentation improvements
- Additional safety features
All contributors must read and agree to the DISCLAIMER.md guidelines.
- OpenSSL Integration: Coming soon - enhanced encryption and security features