
Framework avanzado de pruebas de estrés multitecnología Herramienta educativa de ciberseguridad para pruebas de red de alto rendimiento
Framework Avanzado de Pruebas de Estrés Multi-Tecnología
Herramienta Educativa de Ciberseguridad para Pruebas de Red de Alto Rendimiento
Xerxes-Ultimate representa la próxima generación de herramientas de prueba de estrés de red, diseñada específicamente para laboratorios educativos de ciberseguridad. Construida sobre la base de la herramienta original de DoS Xerxes, esta implementación aprovecha tecnologías de aceleración de hardware de vanguardia para lograr niveles de rendimiento sin precedentes, manteniendo al mismo tiempo la transparencia educativa.
| Métrica | Xerxes Original | Xerxes-Ultimate | Mejora |
|---|---|---|---|
| Paquetes/Segundo | ~50,000 PPS | 60,000,000+ PPS | 🚀 1,200x más rápido |
| Ancho de Banda | ~100 Mbps | 60+ Gbps | 🔥 600x aumento |
| Conexiones Concurrentes | ~1,000 | 1,000,000+ | ⚡ 1,000x más |
| Eficiencia de CPU | 100% uso de CPU | <30% uso de CPU | 💡 70% de reducción |
| Uso de Memoria | Alta fragmentación | Pools optimizados | 🎯 90% eficiente |
| Latencia | ~1ms | <100 nanosegundos | ⚡ 10,000x más rápido |
graph LR
A[Original Xerxes
50K PPS] --> B[BASIC Tier
100K PPS
2x improvement]
B --> C[IO_URING Tier
1M PPS
20x improvement]
C --> D[GPU Tier
10M PPS
200x improvement]
D --> E[DPDK Tier
30M PPS
600x improvement]
E --> F[ULTIMATE Tier
60M+ PPS
1,200x improvement]
## 🛠️ Stack Tecnológico
### Tecnologías Principales
#### 🎮 **Aceleración Multi-GPU CUDA**```c
// Parallel payload generation across 4 GPUs
__global__ void generate_ultimate_payloads(char *payloads, int *sizes,
int payload_count, uint64_t seed) {
int idx = blockIdx.x * blockDim.x + threadIdx.x;
// 512 blocks × 1024 threads × 4 GPUs = 2,097,152 parallel generators
}
Beneficios:
// Asynchronous submission queue struct io_uring ring; io_uring_queue_init(8192, &ring, IORING_SETUP_SQPOLL);
// Direct GPU->NIC transfer without CPU copies io_uring_prep_send_zc(sqe, socket_fd, gpu_buffer, size, 0);
**Beneficios:**
- **Aumento del rendimiento de E/S del 400%**
- **Transferencias GPU a NIC de cero copias**
- **Elimina la sobrecarga del cambio de contexto**
- **Escala a 100,000+ operaciones concurrentes**
#### 🌐 **Redes en espacio de usuario DPDK**```c
// Bypass kernel network stack entirely
struct rte_mbuf *pkts[BURST_SIZE];
uint16_t nb_tx = rte_eth_tx_burst(port_id, queue_id, pkts, nb_pkts);
Beneficios:
SEC("xdp_ultimate") int xdp_stress_program(struct xdp_md *ctx) { // Kernel-level packet manipulation return XDP_TX; // Retransmit at wire speed }
**Beneficios:**
- **Aumento del 200% en eficiencia sobre el espacio de usuario**
- **Generación de paquetes a nivel de kernel**
- **Procesamiento programable de paquetes**
- **Integración con offload de hardware**
---
## 📊 Arquitectura
### Resumen de la Arquitectura del Sistema```mermaid
graph TB
subgraph "User Space"
A[Control Thread] --> B[Thread Pool Manager]
B --> C[GPU Generator Threads]
B --> D[Network Transmit Threads]
B --> E[Statistics Monitor]
end
subgraph "GPU Cluster"
F[RTX 4070 Ti #1<br/>2,560 cores]
G[RTX 4070 Ti #2<br/>2,560 cores]
H[RTX 4070 Ti #3<br/>2,560 cores]
I[RTX 4070 Ti #4<br/>2,560 cores]
F --> J[GPU Memory Pool<br/>48GB Total]
G --> J
H --> J
I --> J
end
subgraph "I/O Subsystem"
K[io_uring Ring<br/>8192 entries]
L[DPDK PMD Drivers]
M[Zero-Copy Buffers]
end
subgraph "Kernel Space"
N[XDP Hook]
O[eBPF Programs]
P[Network Interface]
end
C --> F
C --> G
C --> H
C --> I
D --> K
D --> L
K --> M
L --> M
M --> N
N --> O
O --> P
P --> Q[Target Network<br/>60+ Gbps]
graph LR
subgraph "GPU Memory (16GB)"
A[Payload Buffers
8GB]
B[Size Arrays
2GB]
C[Random States
4GB]
D[Working Space
2GB]
end
subgraph "Host Memory (32GB)"
E[Pinned Buffers<br/>16GB]
F[Ring Buffers<br/>8GB]
G[Connection Pool<br/>4GB]
H[Statistics<br/>4GB]
end
subgraph "NIC Memory (1GB)"
I[DMA Buffers<br/>512MB]
J[Descriptor Rings<br/>256MB]
K[Hardware Queues<br/>256MB]
end
A -.->|PCIe 4.0<br/>64 GB/s| E
E -.->|Zero-Copy| F
F -.->|DMA| I
---
## 🚀 Inicio rápido
### Verificación de requisitos previos```bash
# Run the capability detector
./scripts/check-capabilities.sh
[✓] CUDA: 4 GPUs detected
[✓] DPDK: Compatible NIC detected
[✓] io_uring: Kernel support available
[✓] XDP/eBPF: Root privileges available
### Lanzamiento básico```bash
# Simple unlimited attack
./artaxerxes-ultimate 192.168.1.100 80
# Controlled burst testing
./artaxerxes-ultimate 192.168.1.100 80 10M_pps
# Bandwidth-limited testing
./artaxerxes-ultimate 192.168.1.100 80 5Gbps
# Time-limited demonstration
./artaxerxes-ultimate 192.168.1.100 80 300s
git clone https://gitlab.com/toxy4ny/ARTAXERXES.git cd ARTAXERXES
sudo quick-deploy.sh
### Instalación manual
#### 1. Instalar dependencias
**Ubuntu/Debian:**```bash
# System packages
sudo apt-get update
sudo apt-get install -y build-essential cmake pkg-config \
libnuma-dev libpcap-dev python3-pyelftools \
libbpf-dev libelf-dev zlib1g-dev liburing-dev