
Framework avancé de tests de stress multi-technologies Outil pédagogique de cybersécurité pour les tests réseau haute performance
Framework avancé de test de stress multi-technologies
Outil éducatif de cybersécurité pour les tests réseau haute performance
Xerxes-Ultimate représente la nouvelle génération d'outils de test de stress réseau, conçus spécifiquement pour les laboratoires éducatifs de cybersécurité. Bâti sur les fondations de l'outil DoS Xerxes original, cette implémentation exploite des technologies d'accélération matérielle de pointe pour atteindre des niveaux de performance sans précédent tout en conservant une transparence pédagogique.
| Métrique | Original Xerxes | Xerxes-Ultimate | Amélioration |
|---|---|---|---|
| Paquets/seconde | ~50,000 PPS | 60,000,000+ PPS | 🚀 1,200x plus rapide |
| Bande passante | ~100 Mbps | 60+ Gbps | 🔥 600x d'augmentation |
| Connexions simultanées | ~1,000 | 1,000,000+ | ⚡ 1,000x plus |
| Efficacité CPU | 100% d'utilisation CPU | <30% d'utilisation CPU | 💡 Réduction de 70% |
| Utilisation mémoire | Fragmentation élevée | Pools optimisés | 🎯 90% d'efficacité |
| Latence | ~1ms | <100 nanosecondes | ⚡ 10,000x plus rapide |
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]
---
## 🛠️ Pile technologique
### Technologies de base
#### 🎮 **Accélération 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
}
Avantages :
// 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);
**Avantages :**
- **Augmentation de 400 % des performances d'E/S**
- **Transferts sans copie GPU vers NIC**
- **Élimine la surcharge de changement de contexte**
- **Passe à l'échelle jusqu'à 100 000+ opérations concurrentes**
#### 🌐 **Réseautage en espace utilisateur 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);
Avantages :
SEC("xdp_ultimate") int xdp_stress_program(struct xdp_md *ctx) { // Kernel-level packet manipulation return XDP_TX; // Retransmit at wire speed }
**Avantages :**
- **Gain d'efficacité de 200 % par rapport à l'espace utilisateur**
- **Génération de paquets au niveau du noyau**
- **Traitement programmable des paquets**
- **Intégration avec le déchargement matériel**
---
## 📊 Architecture
### Aperçu de l'architecture système```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
---
## 🚀 Démarrage rapide
### Vérification des prérequis```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
### Lancement de base```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
### Installation manuelle
#### 1. Installer les dépendances
**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