https://github.com/nomadsdev/ddos-simulation-tool
A DDoS simulation tool to generate high traffic to a server using multiple threads and configurable user agents. For educational purposes only.
https://github.com/nomadsdev/ddos-simulation-tool
concurrency ddos educational http-https multi-threading networking security traffic-simulation user-agent-spoofing windows-api
Last synced: 4 months ago
JSON representation
A DDoS simulation tool to generate high traffic to a server using multiple threads and configurable user agents. For educational purposes only.
- Host: GitHub
- URL: https://github.com/nomadsdev/ddos-simulation-tool
- Owner: nomadsdev
- Created: 2024-08-29T15:22:17.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-30T02:53:37.000Z (over 1 year ago)
- Last Synced: 2025-01-02T04:28:49.597Z (about 1 year ago)
- Topics: concurrency, ddos, educational, http-https, multi-threading, networking, security, traffic-simulation, user-agent-spoofing, windows-api
- Language: C
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DDoS Simulation Tool
## Overview
This project is a simple Distributed Denial of Service (DDoS) simulation tool designed to send multiple HTTP/HTTPS requests to a specified URL or IP address. It utilizes multithreading to simulate a large number of simultaneous connections, which can overwhelm the target server. This tool is intended strictly for educational purposes and should **not** be used for any malicious activities.
## Features
- **Supports HTTP and HTTPS:** Automatically switches between HTTP and HTTPS based on the port (80 for HTTP, 443 for HTTPS).
- **Custom User-Agent Strings:** Load configurable user-agent strings from an external file to simulate requests from various clients.
- **Multithreading:** Simulates multiple concurrent requests using threads.
- **Timeout Settings:** Customize connection and receive timeouts for each request.
## Prerequisites
- **Operating System:** Windows
- **Compiler:** GCC (for compiling the code)
## Compilation
To compile the source code, run the following command in your terminal:
```bash
gcc ddos.c -o ddos -lwininet
```
## Usage
### 1. Prepare the User-Agent File
- Create a file named `qa.txt` inside the `bin` directory of your project.
- Add one user-agent string per line in this file.
### 2. Run the Tool
- Open a command prompt and navigate to the directory containing the `ddos` executable.
- Run the program by executing `ddos.exe`.
### 3. Input Parameters
- When prompted, enter the target URL or IP address and the port number.
- If you enter port `443`, the program will use HTTPS; otherwise, it will default to HTTP.
### 4. Behavior
- The tool continuously sends requests to the specified URL or IP address using multiple threads.
- Each request uses a randomly selected user-agent string from the `qa.txt` file.
## Example
```bash
Enter the URL or IP address: example.com
Enter the port number (e.g., 80): 80
```
This will start sending HTTP requests to `example.com` on port `80`.
## Ethical Considerations
This tool should **only** be used on servers that you own or have explicit permission to test. Unauthorized use against other servers is illegal and unethical.
## Performance
The number of threads (`num_threads`) is set to `100000` by default. Depending on your system's capabilities and the target server, you may need to adjust this number. Running too many threads may overwhelm your own system before impacting the target.
## License
This project is licensed under the MIT License. See the `LICENSE` file for details.